Commit c4d8db85d30753cebf32a1ece33cb536ac867934

Authored by Eugeny Galkovskiy
2 parents b7805be6 de188496

Merge remote-tracking branch 'origin/master'

common/mail/feedback.php
1 1 <?php
2   - use artbox\core\models\Feedback;
  2 + use common\models\Feedback;
3 3 use yii\web\View;
4 4  
5 5 /**
... ... @@ -10,22 +10,26 @@
10 10 ?>
11 11  
12 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 35 </table>
... ...
common/models/Feedback.php 0 → 100644
  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 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 1 <?php
  2 +
2 3 namespace frontend\controllers;
3 4  
4   - use artbox\core\models\Feedback;
  5 + use common\models\Feedback;
5 6 use common\models\Settings;
6 7 use common\models\Slider;
7 8 use Yii;
... ... @@ -52,9 +53,10 @@
52 53 public function actionIndex()
53 54 {
54 55  
55   - $slider = Slider::find()->with("slides.lang.image")
56   - ->where(['on_home_page'=>true])
57   - ->one();
  56 + $slider = Slider::find()
  57 + ->with("slides.lang.image")
  58 + ->where(['on_home_page'=>true])
  59 + ->one();
58 60  
59 61 $objects = Objectkb::find()
60 62 ->with('lang.alias')
... ... @@ -96,7 +98,7 @@
96 98 {
97 99 return $this->render('about');
98 100 }
99   -
  101 +
100 102 public function actionIndividual()
101 103 {
102 104 return $this->render('individual');
... ... @@ -121,7 +123,7 @@
121 123 {
122 124 return $this->render('blog');
123 125 } // блог
124   -
  126 +
125 127 /**
126 128 * Action to view robots.txt file dinamycli
127 129 *
... ... @@ -165,22 +167,23 @@
165 167 'model' => $model,
166 168 ]
167 169 )
168   - ->setFrom('artbox@domain.com')
169   - ->setTo($settings->email)
  170 + ->setFrom('artbox@domain.com')// ->setTo($settings->email)
  171 + ->setTo(
  172 + [
  173 + 'tamerlan8.05.92@gmail.com',
  174 + 'mpav@artweb.ua',
  175 + ]
  176 + )
170 177 ->setSubject(\Yii::t('app', 'Feedback'))
171 178 ->send();
172 179  
173 180 return [
174 181 'success' => true,
175 182 'message' => 'Success message',
176   - 'alert' => '<div class="alert alert-success">
177   - <h3>Success</h3>
178   - <p>
179   - Success text
180   - </p>
181   - </div>',
  183 + 'alert' => $this->renderPartial('success_alert'),
182 184 ];
183 185 } else {
  186 + Yii::$app->response->setStatusCode(500);
184 187 return [
185 188 'success' => false,
186 189 'error' => $model->errors,
... ...
frontend/views/layouts/main.php
... ... @@ -10,7 +10,6 @@
10 10  
11 11 use artbox\core\components\SeoComponent;
12 12 use artbox\core\helpers\ImageHelper;
13   - use artbox\core\models\Feedback;
14 13 use artbox\core\models\PageCategory;
15 14 use artbox\core\models\User;
16 15 use common\models\Settings;
... ... @@ -23,6 +22,7 @@
23 22 use yii\helpers\Url;
24 23 use yii\web\View;
25 24 use yii\widgets\Breadcrumbs;
  25 + use common\models\Feedback;
26 26  
27 27 AppAsset::register($this);
28 28 $user = \Yii::$app->user->identity;
... ... @@ -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 393 <?= $form->field($feedback, 'name')
390 394 ->textInput(); ?>
391 395  
... ...
frontend/views/site/index.php
1 1 <?php
2 2  
3 3 /**
4   - * @var $this yii\web\View
5   - * @var $slider \common\models\Slider
  4 + * @var $this yii\web\View
  5 + * @var $slider \common\models\Slider
6 6 * @var $objects \common\models\Objectkb
7 7 */
8 8  
9   -use common\models\Settings;
10   -use frontend\assets\MapAsset;
11   -use yii\web\View;
12   -
13   -MapAsset::register($this);
14   -$settings = Settings::getInstance();
15   -$this->title = 'KB Energy';
16   -
17   -$js = <<< JS
  9 + use common\models\Settings;
  10 + use frontend\assets\MapAsset;
  11 + use yii\web\View;
  12 + use yii\helpers\Url;
  13 +
  14 + MapAsset::register($this);
  15 + $settings = Settings::getInstance();
  16 + $this->title = 'KB Energy';
  17 +
  18 + $js = <<< JS
18 19 window.lat = {$settings->lat};
19 20 window.lon = {$settings->lon};
20 21 JS;
21   -
22   -$this->registerJs($js, View::POS_END);
  22 +
  23 + $this->registerJs($js, View::POS_END);
23 24 ?>
24 25  
25 26 <div id="main-page">
... ... @@ -229,80 +230,18 @@ $this-&gt;registerJs($js, View::POS_END);
229 230 </div>
230 231 <div class="row">
231 232 <div class="col-md-12 col-xs-12" style="text-align:center;margin-top: 20px;margin-bottom: -35px;">
232   - <a href='site/object/' class="button1 more-projects"><?= Yii::t('app', 'sect2_6') ?></a>
  233 + <a
  234 + href="<?= Url::toRoute(['blog/index'])?>"
  235 + class="button1 more-projects"
  236 + >
  237 + <?= Yii::t('app', 'sect2_6') ?>
  238 + </a>
233 239 </div>
234 240 </div>
235 241 </div>
236 242 </div>
237 243 </section>
238 244  
239   -<!-- новый блок с объектами для главной-->
240   -<!-- <section class="bar background-white objects-main-wr">-->
241   -<!-- <div class="container">-->
242   -<!-- <div class="col-md-12">-->
243   -<!-- <div class="heading text-center">-->
244   -<!-- <h2>--><?//=\Yii::t('app', 'index_objects')?><!--</h2>-->
245   -<!-- </div>-->
246   -<!-- <div class="row portfolio">-->
247   -<!-- --><?php
248   -// foreach ($objects as $object) {
249   -// ?>
250   -<!-- <div class="col-sm-6">-->
251   -<!-- <div class="box-image">-->
252   -<!-- <div class="image">-->
253   -<!-- <div class="image_link_wr">-->
254   -<!-- <a href="--><?//=\yii\helpers\Url::toRoute(
255   -// [
256   -// 'object/view',
257   -// 'alias' => $object->lang->alias,
258   -// ]
259   -// ) ?><!--" class="image_link">-->
260   -<!-- --><?//=$object->image->getImg([])?>
261   -<!-- </a>-->
262   -<!-- </div>-->
263   -<!-- <div class="img-title">-->
264   -<!-- <table>-->
265   -<!-- <tr>-->
266   -<!-- <td class="buts text-left">-->
267   -<!-- <a href="--><?//=\yii\helpers\Url::toRoute(
268   -// [
269   -// 'object/view',
270   -// 'alias' => $object->lang->alias,
271   -// ]
272   -// ) ?><!--" class="sqre_btn blue_arrow" alt="--><?//=$object->lang->object_name?><!--"></a>-->
273   -<!-- <a href="#" class="btn sqre_btn yellow_calc modaled init-button-сalculate" data-title="Заказать консультацию" data-toggle="modal" data-target="#feedback-modal"></a>-->
274   -<!-- </td>-->
275   -<!-- <td class="i-title" valign="center">-->
276   -<!-- <p class="pr_title2">-->
277   -<!-- <a href="--><?//=\yii\helpers\Url::toRoute(
278   -// [
279   -// 'object/view',
280   -// 'alias' => $object->lang->alias,
281   -// ]
282   -// ) ?><!--">-->
283   -<!-- --><?//=$object->lang->object_name?>
284   -<!-- </a>-->
285   -<!-- </p>-->
286   -<!-- </td>-->
287   -<!-- </tr>-->
288   -<!-- </table>-->
289   -<!-- </div>-->
290   -<!-- </div>-->
291   -<!-- </div>-->
292   -<!-- </div>-->
293   -<!-- --><?php
294   -// }
295   -// ?>
296   -<!-- </div>-->
297   -<!-- <div class="row">-->
298   -<!-- <div class="col-md-12 col-xs-12" style="text-align:center;margin-top: 20px;margin-bottom: -35px;">-->
299   -<!-- <a href='site/object/' class="button1 more-projects">--><?//= Yii::t('app', 'sect2_6') ?><!--</a>-->
300   -<!-- </div>-->
301   -<!-- </div>-->
302   -<!-- </div>-->
303   -<!-- </div>-->
304   -<!-- </section>-->
305   -
306 245 <section class="blue-fon no-mg economy-wr">
307 246 <div class="container">
308 247 <div class="heading text-center">
... ... @@ -403,7 +342,12 @@ $this-&gt;registerJs($js, View::POS_END);
403 342 </div>
404 343 </div>
405 344 <div class="col-md-12 col-xs-12" style="text-align:center;margin-top: 20px;margin-bottom: -35px;">
406   - <a href="site/object/" class="button1 more-projects"><?=\Yii::t('app', 'more_about_ours')?></a>
  345 + <a
  346 + href="<?= Url::toRoute(['blog/index'])?>"
  347 + class="button1 more-projects"
  348 + >
  349 + <?=\Yii::t('app', 'more_about_ours')?>
  350 + </a>
407 351 </div>
408 352 </div>
409 353 </section>
... ...
frontend/views/site/success_alert.php 0 → 100644
  1 +<?php
  2 + /**
  3 + * Created by PhpStorm.
  4 + * User: timur
  5 + * Date: 31.01.18
  6 + * Time: 10:49
  7 + */
  8 +
  9 + ?>
  10 +
  11 +<div class="alert alert-success">
  12 + <h3>Success</h3>
  13 + <p>
  14 + Success text
  15 + </p>
  16 +</div>
... ...
frontend/web/js/script.js
... ... @@ -19,6 +19,7 @@ $(
19 19 f.reset();
20 20 $('#feedback-modal')
21 21 .modal('hide');
  22 + $(this).data('yiiActiveForm').validated = false;
22 23 $('#success-modal')
23 24 .modal('show');
24 25 },
... ...