Commit a78f6f00df697d56072a7f54af26aa4813a98122
1 parent
6f862115
feedback mail
Showing
9 changed files
with
226 additions
and
50 deletions
Show diff stats
common/mail/feedback.php
1 | <?php | 1 | <?php |
2 | - use artbox\core\models\Feedback; | 2 | + use common\models\Feedback; |
3 | use yii\web\View; | 3 | use yii\web\View; |
4 | 4 | ||
5 | /** | 5 | /** |
@@ -10,22 +10,26 @@ | @@ -10,22 +10,26 @@ | ||
10 | ?> | 10 | ?> |
11 | 11 | ||
12 | <table> | 12 | <table> |
13 | - <tbody> | ||
14 | - <tr> | ||
15 | - <td><b><?= \Yii::t('app', 'Name: ') ?></b></td> | ||
16 | - <td><?= $model->name ?></td> | ||
17 | - </tr> | ||
18 | - <tr> | ||
19 | - <td><b><?= \Yii::t('app', 'Phone: ') ?></b></td> | ||
20 | - <td><?= $model->phone ?></td> | ||
21 | - </tr> | ||
22 | - <tr> | ||
23 | - <td><b><?= \Yii::t('app', 'Email: ') ?></b></td> | ||
24 | - <td><?= $model->email ?></td> | ||
25 | - </tr> | ||
26 | - <tr> | ||
27 | - <td><b><?= \Yii::t('app', 'Message: ') ?></b></td> | ||
28 | - <td><?= $model->message ?></td> | ||
29 | - </tr> | ||
30 | - </tbody> | 13 | + <tbody> |
14 | + <tr> | ||
15 | + <td><b><?= \Yii::t('app', 'Name: ') ?></b></td> | ||
16 | + <td><?= $model->name ?></td> | ||
17 | + </tr> | ||
18 | + <tr> | ||
19 | + <td><b><?= \Yii::t('app', 'Topic: ') ?></b></td> | ||
20 | + <td><?= $model->topic ?></td> | ||
21 | + </tr> | ||
22 | + <tr> | ||
23 | + <td><b><?= \Yii::t('app', 'Phone: ') ?></b></td> | ||
24 | + <td><?= $model->phone ?></td> | ||
25 | + </tr> | ||
26 | + <tr> | ||
27 | + <td><b><?= \Yii::t('app', 'Email: ') ?></b></td> | ||
28 | + <td><?= $model->email ?></td> | ||
29 | + </tr> | ||
30 | + <tr> | ||
31 | + <td><b><?= \Yii::t('app', 'Message: ') ?></b></td> | ||
32 | + <td><?= $model->message ?></td> | ||
33 | + </tr> | ||
34 | + </tbody> | ||
31 | </table> | 35 | </table> |
1 | +<?php | ||
2 | + namespace common\models; | ||
3 | + /** | ||
4 | + * User: timur | ||
5 | + * Date: 31.01.18 | ||
6 | + * Time: 10:56 | ||
7 | + */ | ||
8 | + | ||
9 | + use artbox\core\models\Feedback as ArtboxFeedback; | ||
10 | + use yii\helpers\VarDumper; | ||
11 | + | ||
12 | + /** | ||
13 | + * Class Feedback | ||
14 | + * | ||
15 | + * @property string $topic | ||
16 | + * | ||
17 | + * @package common\models | ||
18 | + */ | ||
19 | + class Feedback extends ArtboxFeedback | ||
20 | + { | ||
21 | + | ||
22 | + const SCENARIO_CALCULATOR = 'calculator'; | ||
23 | + | ||
24 | + public function scenarios() | ||
25 | + { | ||
26 | + return array_merge( | ||
27 | + parent::scenarios(), | ||
28 | + [ | ||
29 | + parent::SCENARIO_FEEDBACK => [ | ||
30 | + 'name', | ||
31 | + 'email', | ||
32 | + 'message', | ||
33 | + 'returnUrl', | ||
34 | + 'topic', | ||
35 | + ], | ||
36 | + parent::SCENARIO_CALLBACK => [ | ||
37 | + 'name', | ||
38 | + 'phone', | ||
39 | + 'message', | ||
40 | + 'returnUrl', | ||
41 | + 'topic', | ||
42 | + ], | ||
43 | + self::SCENARIO_CALCULATOR => [ | ||
44 | + 'name', | ||
45 | + 'phone', | ||
46 | + 'returnUrl', | ||
47 | + 'topic', | ||
48 | + 'calc_json_info', | ||
49 | + | ||
50 | + ] | ||
51 | + ] | ||
52 | + ); | ||
53 | + } | ||
54 | + | ||
55 | + public function rules() | ||
56 | + { | ||
57 | + | ||
58 | + return array_merge( | ||
59 | + parent::rules(), | ||
60 | + [ | ||
61 | + [ | ||
62 | + [ | ||
63 | + 'topic', | ||
64 | + ], | ||
65 | + 'required', | ||
66 | + ], | ||
67 | + [ | ||
68 | + [ | ||
69 | + 'topic', | ||
70 | + ], | ||
71 | + 'string', | ||
72 | + 'max' => 100, | ||
73 | + ], | ||
74 | + [ | ||
75 | + [ | ||
76 | + 'calc_json_info' | ||
77 | + ], | ||
78 | + 'required', | ||
79 | + 'on' => self::SCENARIO_CALCULATOR, | ||
80 | + ] | ||
81 | + ] | ||
82 | + ); | ||
83 | + } | ||
84 | + | ||
85 | + | ||
86 | + } | ||
0 | \ No newline at end of file | 87 | \ No newline at end of file |
console/migrations/m180131_085430_add_topic_column_to_feedback_table.php
0 → 100644
1 | +<?php | ||
2 | + | ||
3 | +use yii\db\Migration; | ||
4 | + | ||
5 | +/** | ||
6 | + * Handles adding topic to table `feedback`. | ||
7 | + */ | ||
8 | +class m180131_085430_add_topic_column_to_feedback_table extends Migration | ||
9 | +{ | ||
10 | + /** | ||
11 | + * @inheritdoc | ||
12 | + */ | ||
13 | + public function up() | ||
14 | + { | ||
15 | + $this->addColumn('feedback', 'topic', $this->string(100)); | ||
16 | + } | ||
17 | + | ||
18 | + /** | ||
19 | + * @inheritdoc | ||
20 | + */ | ||
21 | + public function down() | ||
22 | + { | ||
23 | + $this->dropColumn('feedback', 'topic'); | ||
24 | + } | ||
25 | +} |
console/migrations/m180131_090632_add_calc_json_info_column_to_feedback_table.php
0 → 100644
1 | +<?php | ||
2 | + | ||
3 | +use yii\db\Migration; | ||
4 | + | ||
5 | +/** | ||
6 | + * Handles adding calc_json_info to table `feedback`. | ||
7 | + */ | ||
8 | +class m180131_090632_add_calc_json_info_column_to_feedback_table extends Migration | ||
9 | +{ | ||
10 | + /** | ||
11 | + * @inheritdoc | ||
12 | + */ | ||
13 | + public function up() | ||
14 | + { | ||
15 | + $this->addColumn('feedback', 'calc_json_info', $this->text()); | ||
16 | + } | ||
17 | + | ||
18 | + /** | ||
19 | + * @inheritdoc | ||
20 | + */ | ||
21 | + public function down() | ||
22 | + { | ||
23 | + $this->dropColumn('feedback', 'calc_json_info'); | ||
24 | + } | ||
25 | +} |
frontend/controllers/SiteController.php
1 | <?php | 1 | <?php |
2 | + | ||
2 | namespace frontend\controllers; | 3 | namespace frontend\controllers; |
3 | 4 | ||
4 | - use artbox\core\models\Feedback; | 5 | + use common\models\Feedback; |
5 | use common\models\Settings; | 6 | use common\models\Settings; |
6 | use common\models\Slider; | 7 | use common\models\Slider; |
7 | use Yii; | 8 | use Yii; |
@@ -10,7 +11,6 @@ | @@ -10,7 +11,6 @@ | ||
10 | use yii\web\BadRequestHttpException; | 11 | use yii\web\BadRequestHttpException; |
11 | use yii\web\Controller; | 12 | use yii\web\Controller; |
12 | use yii\web\Response; | 13 | use yii\web\Response; |
13 | - use common\models\Objectkb; | ||
14 | 14 | ||
15 | /** | 15 | /** |
16 | * Site controller | 16 | * Site controller |
@@ -52,9 +52,10 @@ | @@ -52,9 +52,10 @@ | ||
52 | public function actionIndex() | 52 | public function actionIndex() |
53 | { | 53 | { |
54 | 54 | ||
55 | - $slider = Slider::find()->with("slides.lang.image") | ||
56 | - ->where(['on_home_page'=>true]) | ||
57 | - ->one(); | 55 | + $slider = Slider::find() |
56 | + ->with("slides.lang.image") | ||
57 | + ->where([ 'on_home_page' => true ]) | ||
58 | + ->one(); | ||
58 | 59 | ||
59 | return $this->render( | 60 | return $this->render( |
60 | 'index', | 61 | 'index', |
@@ -89,7 +90,7 @@ | @@ -89,7 +90,7 @@ | ||
89 | { | 90 | { |
90 | return $this->render('about'); | 91 | return $this->render('about'); |
91 | } | 92 | } |
92 | - | 93 | + |
93 | public function actionIndividual() | 94 | public function actionIndividual() |
94 | { | 95 | { |
95 | return $this->render('individual'); | 96 | return $this->render('individual'); |
@@ -114,7 +115,7 @@ | @@ -114,7 +115,7 @@ | ||
114 | { | 115 | { |
115 | return $this->render('blog'); | 116 | return $this->render('blog'); |
116 | } // блог | 117 | } // блог |
117 | - | 118 | + |
118 | /** | 119 | /** |
119 | * Action to view robots.txt file dinamycli | 120 | * Action to view robots.txt file dinamycli |
120 | * | 121 | * |
@@ -158,22 +159,23 @@ | @@ -158,22 +159,23 @@ | ||
158 | 'model' => $model, | 159 | 'model' => $model, |
159 | ] | 160 | ] |
160 | ) | 161 | ) |
161 | - ->setFrom('artbox@domain.com') | ||
162 | - ->setTo($settings->email) | 162 | + ->setFrom('artbox@domain.com')// ->setTo($settings->email) |
163 | + ->setTo( | ||
164 | + [ | ||
165 | + 'tamerlan8.05.92@gmail.com', | ||
166 | + 'mpav@artweb.ua', | ||
167 | + ] | ||
168 | + ) | ||
163 | ->setSubject(\Yii::t('app', 'Feedback')) | 169 | ->setSubject(\Yii::t('app', 'Feedback')) |
164 | ->send(); | 170 | ->send(); |
165 | 171 | ||
166 | return [ | 172 | return [ |
167 | 'success' => true, | 173 | 'success' => true, |
168 | 'message' => 'Success message', | 174 | 'message' => 'Success message', |
169 | - 'alert' => '<div class="alert alert-success"> | ||
170 | - <h3>Success</h3> | ||
171 | - <p> | ||
172 | - Success text | ||
173 | - </p> | ||
174 | - </div>', | 175 | + 'alert' => $this->renderPartial('success_alert'), |
175 | ]; | 176 | ]; |
176 | } else { | 177 | } else { |
178 | + Yii::$app->response->setStatusCode(500); | ||
177 | return [ | 179 | return [ |
178 | 'success' => false, | 180 | 'success' => false, |
179 | 'error' => $model->errors, | 181 | 'error' => $model->errors, |
frontend/views/layouts/main.php
@@ -10,7 +10,6 @@ | @@ -10,7 +10,6 @@ | ||
10 | 10 | ||
11 | use artbox\core\components\SeoComponent; | 11 | use artbox\core\components\SeoComponent; |
12 | use artbox\core\helpers\ImageHelper; | 12 | use artbox\core\helpers\ImageHelper; |
13 | - use artbox\core\models\Feedback; | ||
14 | use artbox\core\models\PageCategory; | 13 | use artbox\core\models\PageCategory; |
15 | use artbox\core\models\User; | 14 | use artbox\core\models\User; |
16 | use common\models\Settings; | 15 | use common\models\Settings; |
@@ -23,6 +22,7 @@ | @@ -23,6 +22,7 @@ | ||
23 | use yii\helpers\Url; | 22 | use yii\helpers\Url; |
24 | use yii\web\View; | 23 | use yii\web\View; |
25 | use yii\widgets\Breadcrumbs; | 24 | use yii\widgets\Breadcrumbs; |
25 | + use common\models\Feedback; | ||
26 | 26 | ||
27 | AppAsset::register($this); | 27 | AppAsset::register($this); |
28 | $user = \Yii::$app->user->identity; | 28 | $user = \Yii::$app->user->identity; |
@@ -386,6 +386,10 @@ | @@ -386,6 +386,10 @@ | ||
386 | ] | 386 | ] |
387 | ); ?> | 387 | ); ?> |
388 | 388 | ||
389 | + <?= $form->field($feedback, 'topic') | ||
390 | + ->hiddenInput(['value' => Feedback::SCENARIO_FEEDBACK]) | ||
391 | + ->label(false)?> | ||
392 | + | ||
389 | <?= $form->field($feedback, 'name') | 393 | <?= $form->field($feedback, 'name') |
390 | ->textInput(); ?> | 394 | ->textInput(); ?> |
391 | 395 | ||
@@ -601,7 +605,7 @@ | @@ -601,7 +605,7 @@ | ||
601 | </div> | 605 | </div> |
602 | <div class="modal-body"> | 606 | <div class="modal-body"> |
603 | 607 | ||
604 | - <p>Thank for your reply, we will call you, maybe.</p> | 608 | + <p>Thank for your reply, we will call you soon.</p> |
605 | <p class="text-center"> | 609 | <p class="text-center"> |
606 | <button type="button" class="btn btn-template-primary" data-dismiss="modal">Close</button> | 610 | <button type="button" class="btn btn-template-primary" data-dismiss="modal">Close</button> |
607 | </p> | 611 | </p> |
frontend/views/site/index.php
1 | <?php | 1 | <?php |
2 | 2 | ||
3 | /** | 3 | /** |
4 | - * @var $this yii\web\View | 4 | + * @var $this yii\web\View |
5 | * @var $slider \common\models\Slider | 5 | * @var $slider \common\models\Slider |
6 | */ | 6 | */ |
7 | 7 | ||
8 | -use common\models\Settings; | ||
9 | -use frontend\assets\MapAsset; | ||
10 | -use yii\web\View; | ||
11 | - | ||
12 | -MapAsset::register($this); | ||
13 | -$settings = Settings::getInstance(); | ||
14 | -$this->title = 'KB Energy'; | ||
15 | - | ||
16 | -$js = <<< JS | 8 | + use common\models\Settings; |
9 | + use frontend\assets\MapAsset; | ||
10 | + use yii\web\View; | ||
11 | + use yii\helpers\Url; | ||
12 | + | ||
13 | + MapAsset::register($this); | ||
14 | + $settings = Settings::getInstance(); | ||
15 | + $this->title = 'KB Energy'; | ||
16 | + | ||
17 | + $js = <<< JS | ||
17 | window.lat = {$settings->lat}; | 18 | window.lat = {$settings->lat}; |
18 | window.lon = {$settings->lon}; | 19 | window.lon = {$settings->lon}; |
19 | JS; | 20 | JS; |
20 | - | ||
21 | -$this->registerJs($js, View::POS_END); | 21 | + |
22 | + $this->registerJs($js, View::POS_END); | ||
22 | ?> | 23 | ?> |
23 | 24 | ||
24 | <div id="main-page"> | 25 | <div id="main-page"> |
@@ -228,7 +229,13 @@ $this->registerJs($js, View::POS_END); | @@ -228,7 +229,13 @@ $this->registerJs($js, View::POS_END); | ||
228 | </div> | 229 | </div> |
229 | <div class="row"> | 230 | <div class="row"> |
230 | <div class="col-md-12 col-xs-12" style="text-align:center;margin-top: 20px;margin-bottom: -35px;"> | 231 | <div class="col-md-12 col-xs-12" style="text-align:center;margin-top: 20px;margin-bottom: -35px;"> |
231 | - <a href='site/objects' class="button1 more-projects" target="_blank"><?= Yii::t('app', 'sect2_6') ?></a> | 232 | + <a |
233 | + href="<?=Url::toRoute(['object/index'])?>" | ||
234 | + class="button1 more-projects" | ||
235 | + target="_blank" | ||
236 | + > | ||
237 | + <?= Yii::t('app', 'sect2_6') ?> | ||
238 | + </a> | ||
232 | </div> | 239 | </div> |
233 | </div> | 240 | </div> |
234 | </div> | 241 | </div> |
@@ -335,7 +342,13 @@ $this->registerJs($js, View::POS_END); | @@ -335,7 +342,13 @@ $this->registerJs($js, View::POS_END); | ||
335 | </div> | 342 | </div> |
336 | </div> | 343 | </div> |
337 | <div class="col-md-12 col-xs-12" style="text-align:center;margin-top: 20px;margin-bottom: -35px;"> | 344 | <div class="col-md-12 col-xs-12" style="text-align:center;margin-top: 20px;margin-bottom: -35px;"> |
338 | - <a href="site/objects" class="button1 more-projects" target="_blank">Больше о наших проектах</a> | 345 | + <a |
346 | + href="<?=Url::toRoute(['object/index'])?>" | ||
347 | + class="button1 more-projects" | ||
348 | + target="_blank" | ||
349 | + > | ||
350 | + Больше о наших проектах | ||
351 | + </a> | ||
339 | </div> | 352 | </div> |
340 | </div> | 353 | </div> |
341 | </section> | 354 | </section> |
frontend/web/js/script.js
@@ -19,6 +19,7 @@ $( | @@ -19,6 +19,7 @@ $( | ||
19 | f.reset(); | 19 | f.reset(); |
20 | $('#feedback-modal') | 20 | $('#feedback-modal') |
21 | .modal('hide'); | 21 | .modal('hide'); |
22 | + $(this).data('yiiActiveForm').validated = false; | ||
22 | $('#success-modal') | 23 | $('#success-modal') |
23 | .modal('show'); | 24 | .modal('show'); |
24 | }, | 25 | }, |