From a78f6f00df697d56072a7f54af26aa4813a98122 Mon Sep 17 00:00:00 2001 From: timur Date: Wed, 31 Jan 2018 15:05:33 +0200 Subject: [PATCH] feedback mail --- common/mail/feedback.php | 42 +++++++++++++++++++++++------------------- common/models/Feedback.php | 86 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ console/migrations/m180131_085430_add_topic_column_to_feedback_table.php | 25 +++++++++++++++++++++++++ console/migrations/m180131_090632_add_calc_json_info_column_to_feedback_table.php | 25 +++++++++++++++++++++++++ frontend/controllers/SiteController.php | 32 +++++++++++++++++--------------- frontend/views/layouts/main.php | 8 ++++++-- frontend/views/site/index.php | 41 +++++++++++++++++++++++++++-------------- frontend/views/site/success_alert.php | 16 ++++++++++++++++ frontend/web/js/script.js | 1 + 9 files changed, 226 insertions(+), 50 deletions(-) create mode 100644 common/models/Feedback.php create mode 100644 console/migrations/m180131_085430_add_topic_column_to_feedback_table.php create mode 100644 console/migrations/m180131_090632_add_calc_json_info_column_to_feedback_table.php create mode 100644 frontend/views/site/success_alert.php diff --git a/common/mail/feedback.php b/common/mail/feedback.php index 3b0eabf..5f8ec98 100644 --- a/common/mail/feedback.php +++ b/common/mail/feedback.php @@ -1,5 +1,5 @@ - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + +
name ?>
phone ?>
email ?>
message ?>
name ?>
topic ?>
phone ?>
email ?>
message ?>
diff --git a/common/models/Feedback.php b/common/models/Feedback.php new file mode 100644 index 0000000..b30ee2a --- /dev/null +++ b/common/models/Feedback.php @@ -0,0 +1,86 @@ + [ + 'name', + 'email', + 'message', + 'returnUrl', + 'topic', + ], + parent::SCENARIO_CALLBACK => [ + 'name', + 'phone', + 'message', + 'returnUrl', + 'topic', + ], + self::SCENARIO_CALCULATOR => [ + 'name', + 'phone', + 'returnUrl', + 'topic', + 'calc_json_info', + + ] + ] + ); + } + + public function rules() + { + + return array_merge( + parent::rules(), + [ + [ + [ + 'topic', + ], + 'required', + ], + [ + [ + 'topic', + ], + 'string', + 'max' => 100, + ], + [ + [ + 'calc_json_info' + ], + 'required', + 'on' => self::SCENARIO_CALCULATOR, + ] + ] + ); + } + + + } \ No newline at end of file diff --git a/console/migrations/m180131_085430_add_topic_column_to_feedback_table.php b/console/migrations/m180131_085430_add_topic_column_to_feedback_table.php new file mode 100644 index 0000000..48337a7 --- /dev/null +++ b/console/migrations/m180131_085430_add_topic_column_to_feedback_table.php @@ -0,0 +1,25 @@ +addColumn('feedback', 'topic', $this->string(100)); + } + + /** + * @inheritdoc + */ + public function down() + { + $this->dropColumn('feedback', 'topic'); + } +} diff --git a/console/migrations/m180131_090632_add_calc_json_info_column_to_feedback_table.php b/console/migrations/m180131_090632_add_calc_json_info_column_to_feedback_table.php new file mode 100644 index 0000000..d274115 --- /dev/null +++ b/console/migrations/m180131_090632_add_calc_json_info_column_to_feedback_table.php @@ -0,0 +1,25 @@ +addColumn('feedback', 'calc_json_info', $this->text()); + } + + /** + * @inheritdoc + */ + public function down() + { + $this->dropColumn('feedback', 'calc_json_info'); + } +} diff --git a/frontend/controllers/SiteController.php b/frontend/controllers/SiteController.php index 37fa64c..8c7c7d3 100644 --- a/frontend/controllers/SiteController.php +++ b/frontend/controllers/SiteController.php @@ -1,7 +1,8 @@ with("slides.lang.image") - ->where(['on_home_page'=>true]) - ->one(); + $slider = Slider::find() + ->with("slides.lang.image") + ->where([ 'on_home_page' => true ]) + ->one(); return $this->render( 'index', @@ -89,7 +90,7 @@ { return $this->render('about'); } - + public function actionIndividual() { return $this->render('individual'); @@ -114,7 +115,7 @@ { return $this->render('blog'); } // блог - + /** * Action to view robots.txt file dinamycli * @@ -158,22 +159,23 @@ 'model' => $model, ] ) - ->setFrom('artbox@domain.com') - ->setTo($settings->email) + ->setFrom('artbox@domain.com')// ->setTo($settings->email) + ->setTo( + [ + 'tamerlan8.05.92@gmail.com', + 'mpav@artweb.ua', + ] + ) ->setSubject(\Yii::t('app', 'Feedback')) ->send(); return [ 'success' => true, 'message' => 'Success message', - 'alert' => '
-

Success

-

- Success text -

-
', + 'alert' => $this->renderPartial('success_alert'), ]; } else { + Yii::$app->response->setStatusCode(500); return [ 'success' => false, 'error' => $model->errors, diff --git a/frontend/views/layouts/main.php b/frontend/views/layouts/main.php index 70e58bc..ce4cb28 100644 --- a/frontend/views/layouts/main.php +++ b/frontend/views/layouts/main.php @@ -10,7 +10,6 @@ use artbox\core\components\SeoComponent; use artbox\core\helpers\ImageHelper; - use artbox\core\models\Feedback; use artbox\core\models\PageCategory; use artbox\core\models\User; use common\models\Settings; @@ -23,6 +22,7 @@ use yii\helpers\Url; use yii\web\View; use yii\widgets\Breadcrumbs; + use common\models\Feedback; AppAsset::register($this); $user = \Yii::$app->user->identity; @@ -386,6 +386,10 @@ ] ); ?> + field($feedback, 'topic') + ->hiddenInput(['value' => Feedback::SCENARIO_FEEDBACK]) + ->label(false)?> + field($feedback, 'name') ->textInput(); ?> @@ -601,7 +605,7 @@ @@ -335,7 +342,13 @@ $this->registerJs($js, View::POS_END);
- Больше о наших проектах + + Больше о наших проектах +
diff --git a/frontend/views/site/success_alert.php b/frontend/views/site/success_alert.php new file mode 100644 index 0000000..f58be96 --- /dev/null +++ b/frontend/views/site/success_alert.php @@ -0,0 +1,16 @@ + + +
+

Success

+

+ Success text +

+
diff --git a/frontend/web/js/script.js b/frontend/web/js/script.js index ed766d7..137dc52 100644 --- a/frontend/web/js/script.js +++ b/frontend/web/js/script.js @@ -19,6 +19,7 @@ $( f.reset(); $('#feedback-modal') .modal('hide'); + $(this).data('yiiActiveForm').validated = false; $('#success-modal') .modal('show'); }, -- libgit2 0.21.4