Commit 0dee61faf2ffed281d44afc81439d9cf23807599
1 parent
10ec2a3b
visit
Showing
9 changed files
with
54 additions
and
57 deletions
Show diff stats
backend/controllers/VisitController.php
backend/views/feedback/_form.php
... | ... | @@ -11,19 +11,7 @@ |
11 | 11 | <div class="feedback-form"> |
12 | 12 | |
13 | 13 | <?php $form = ActiveForm::begin(); ?> |
14 | - <?php | |
15 | - switch ($model->time){ | |
16 | - case 1: | |
17 | - echo "<p>В течении 30 минут</p>"; | |
18 | - break; | |
19 | - case 2: | |
20 | - echo "<p>C 9.00 до 12.00</p>"; | |
21 | - break; | |
22 | - case 3: | |
23 | - echo "<p>C 12.00 до 18.00</p>"; | |
24 | - break; | |
25 | - } | |
26 | - ?> | |
14 | + | |
27 | 15 | |
28 | 16 | <?= $form->field($model, 'phone') |
29 | 17 | ->textInput([ 'maxlength' => true ]) ?> | ... | ... |
backend/views/visit/_form.php
... | ... | @@ -12,17 +12,23 @@ |
12 | 12 | |
13 | 13 | <?php $form = ActiveForm::begin(); ?> |
14 | 14 | |
15 | - <?= $form->field($model, 'name') | |
16 | - ->textInput([ 'maxlength' => true ]) ?> | |
17 | - | |
18 | - <?= $form->field($model, 'email') | |
19 | - ->textInput([ 'maxlength' => true ]) ?> | |
15 | + | |
20 | 16 | |
21 | 17 | <?= $form->field($model, 'phone') |
22 | 18 | ->textInput([ 'maxlength' => true ]) ?> |
23 | - | |
24 | - <?= $form->field($model, 'message') | |
25 | - ->textarea([ 'rows' => 6 ]) ?> | |
19 | + <?php | |
20 | + switch ($model->time){ | |
21 | + case 1: | |
22 | + echo "<p>В течении 30 минут</p>"; | |
23 | + break; | |
24 | + case 2: | |
25 | + echo "<p>C 9.00 до 12.00</p>"; | |
26 | + break; | |
27 | + case 3: | |
28 | + echo "<p>C 12.00 до 18.00</p>"; | |
29 | + break; | |
30 | + } | |
31 | + ?> | |
26 | 32 | |
27 | 33 | <?= $form->field($model, 'status') |
28 | 34 | ->checkbox( | ... | ... |
common/models/Feedback.php
... | ... | @@ -26,15 +26,11 @@ |
26 | 26 | const SCENARIO_FEEDBACK = 'feedback'; |
27 | 27 | const SCENARIO_CALLBACK = 'callback'; |
28 | 28 | |
29 | - const DURING_30_MIN = '1'; | |
30 | - | |
31 | - const FROM_9_12 = '2'; | |
32 | - | |
33 | - const FROM_12_18 = '3' ; | |
29 | + | |
34 | 30 | |
35 | 31 | public $returnUrl; |
36 | 32 | |
37 | - public $agree; | |
33 | + | |
38 | 34 | |
39 | 35 | /** |
40 | 36 | * @inheritdoc |
... | ... | @@ -165,17 +161,8 @@ |
165 | 161 | 'returnUrl', |
166 | 162 | 'safe', |
167 | 163 | ], |
168 | - [ | |
169 | - [ 'time' ], 'integer' | |
170 | - ], | |
171 | - [ | |
172 | - [ | |
173 | - 'agree', | |
174 | - ], | |
175 | - 'in', | |
176 | - 'range' => [ 1 ], | |
177 | - 'allowArray' => false, | |
178 | - ], | |
164 | + | |
165 | + | |
179 | 166 | ]; |
180 | 167 | } |
181 | 168 | ... | ... |
common/models/Visit.php
... | ... | @@ -17,7 +17,13 @@ |
17 | 17 | */ |
18 | 18 | class Visit extends \yii\db\ActiveRecord |
19 | 19 | { |
20 | - | |
20 | + const DURING_30_MIN = '1'; | |
21 | + | |
22 | + const FROM_9_12 = '2'; | |
23 | + | |
24 | + const FROM_12_18 = '3' ; | |
25 | + | |
26 | + public $agree; | |
21 | 27 | /** |
22 | 28 | * @inheritdoc |
23 | 29 | */ |
... | ... | @@ -86,6 +92,17 @@ |
86 | 92 | 'string', |
87 | 93 | 'max' => 255, |
88 | 94 | ], |
95 | + [ | |
96 | + [ | |
97 | + 'agree', | |
98 | + ], | |
99 | + 'in', | |
100 | + 'range' => [ 1 ], | |
101 | + 'allowArray' => false, | |
102 | + ], | |
103 | + [ | |
104 | + [ 'time' ], 'integer' | |
105 | + ], | |
89 | 106 | ]; |
90 | 107 | } |
91 | 108 | ... | ... |
console/migrations/m180712_081623_alter_table_visit.php
... | ... | @@ -12,7 +12,7 @@ class m180712_081623_alter_table_visit extends Migration |
12 | 12 | */ |
13 | 13 | public function safeUp() |
14 | 14 | { |
15 | - $this->addColumn('feedback', 'time', $this->integer()); | |
15 | + $this->addColumn('visit', 'time', $this->integer()); | |
16 | 16 | } |
17 | 17 | |
18 | 18 | /** |
... | ... | @@ -20,7 +20,7 @@ class m180712_081623_alter_table_visit extends Migration |
20 | 20 | */ |
21 | 21 | public function safeDown() |
22 | 22 | { |
23 | - $this->dropColumn('feedback', 'time'); | |
23 | + $this->dropColumn('visit', 'time'); | |
24 | 24 | } |
25 | 25 | |
26 | 26 | /* | ... | ... |
frontend/controllers/SiteController.php
... | ... | @@ -11,6 +11,7 @@ |
11 | 11 | use common\models\Service; |
12 | 12 | use common\models\Settings; |
13 | 13 | use common\models\slider\Slide; |
14 | + use common\models\Visit; | |
14 | 15 | use Yii; |
15 | 16 | use yii\data\ActiveDataProvider; |
16 | 17 | use yii\db\ActiveQuery; |
... | ... | @@ -178,8 +179,7 @@ |
178 | 179 | |
179 | 180 | public function actionCallback(){ |
180 | 181 | \Yii::$app->response->format = Response::FORMAT_JSON; |
181 | - $model = new Feedback(); | |
182 | - $model->scenario = Feedback::SCENARIO_CALLBACK; | |
182 | + $model = new Visit(); | |
183 | 183 | if ($model->load(\Yii::$app->request->post()) && $model->save()){ |
184 | 184 | return ['success' => true]; |
185 | 185 | }else{ | ... | ... |
frontend/views/layouts/main.php
... | ... | @@ -20,6 +20,7 @@ |
20 | 20 | use artbox\core\seo\widgets\SeoBreadcrumbs; |
21 | 21 | use common\models\Service; |
22 | 22 | use common\models\Settings; |
23 | + use common\models\Visit; | |
23 | 24 | use frontend\assets\AppAsset; |
24 | 25 | use frontend\assets\SliderAsset; |
25 | 26 | use frontend\widgets\ArtboxModalWidget; |
... | ... | @@ -318,7 +319,7 @@ |
318 | 319 | </div> |
319 | 320 | |
320 | 321 | <div class="hidden-xs btn-header-wr"> |
321 | - <span class="btn_ modal-link" data-form="write-to"><?= \Yii::t('app', 'Make an appointment') ?></span> | |
322 | + <span class="btn_ modal-link" data-form="callback"><?= \Yii::t('app', 'Make an appointment') ?></span> | |
322 | 323 | </div> |
323 | 324 | |
324 | 325 | <ul class="hidden-xs hidden-sm"> |
... | ... | @@ -650,8 +651,7 @@ |
650 | 651 | <div id="callback" class=" forms_ " style="display: none;"> |
651 | 652 | <div class="style title-callback">Записаться на прием</div> |
652 | 653 | <?php |
653 | - $model = new Feedback(['agree' => 1, 'time' => 1]); | |
654 | - $model->scenario = Feedback::SCENARIO_CALLBACK; | |
654 | + $model = new Visit(['agree' => 1, 'time' => 1]); | |
655 | 655 | $form = ActiveForm::begin([ 'action' => 'site/callback', 'id' => 'callback-form' ]); ?> |
656 | 656 | <div class="input-wr phones_mask required"> |
657 | 657 | <?= $form->field($model, 'phone') |
... | ... | @@ -663,9 +663,9 @@ |
663 | 663 | <?= $form->field($model, 'time') |
664 | 664 | ->radioList( |
665 | 665 | [ |
666 | - Feedback::DURING_30_MIN => 'В течение 30 минут', | |
667 | - Feedback::FROM_9_12 => 'с 9:00 до 12:00', | |
668 | - Feedback::FROM_12_18 => 'с 12:00 до 18:00', | |
666 | + Visit::DURING_30_MIN => 'В течение 30 минут', | |
667 | + Visit::FROM_9_12 => 'с 9:00 до 12:00', | |
668 | + Visit::FROM_12_18 => 'с 12:00 до 18:00', | |
669 | 669 | ], |
670 | 670 | [ |
671 | 671 | 'item' => function ($index, $label, $name, $checked, $value) { |
... | ... | @@ -673,7 +673,12 @@ |
673 | 673 | return '<div class="style radio_custom"><input id="time_'.$value.'" type="radio" name="'.$name.'" value="'.$value.'" '.$check.'><label for="time_'.$value.'">'.$label.'</label></div>'; |
674 | 674 | }, |
675 | 675 | ] |
676 | - )->label(false); ?> | |
676 | + )->label(false); | |
677 | + | |
678 | + echo $form->field($model, 'entity')->hiddenInput(['value' => (isset($this->params['entity']) ? $this->params['entity'] : null)])->label(false); | |
679 | + echo $form->field($model, 'entity_id')->hiddenInput(['value' => (isset($this->params['entity_id']) ? $this->params['entity_id'] : null)])->label(false) | |
680 | + | |
681 | + ?> | |
677 | 682 | |
678 | 683 | <!-- <div class="style radio_custom">--> |
679 | 684 | <!-- <input type="radio" id="order-delivery_id1" name="qwerty" value="1" checked="">--> | ... | ... |
frontend/views/service/_prices.php
... | ... | @@ -23,7 +23,7 @@ |
23 | 23 | <div class="style new-price-write-txt-btn"> |
24 | 24 | <div class="new-price-write-txt"><span>Точную стоимость лечения узнавайте на консультации с доктором</span></div> |
25 | 25 | <div class="new-price-write-btn"> |
26 | - <span class="btn_ modal-link" data-form="write-to"><?=\Yii::t('app','Make an appointment');?></span> | |
26 | + <span class="btn_ modal-link" data-form="callback"><?=\Yii::t('app','Make an appointment');?></span> | |
27 | 27 | </div> |
28 | 28 | </div> |
29 | 29 | <?php } ?> | ... | ... |