Commit 0dee61faf2ffed281d44afc81439d9cf23807599

Authored by Anastasia
1 parent 10ec2a3b

visit

backend/controllers/VisitController.php
... ... @@ -45,12 +45,6 @@
45 45 'index' => [
46 46 'class' => Index::className(),
47 47 'columns' => [
48   - 'name' => [
49   - 'type' => Index::ACTION_COL,
50   - ],
51   - 'email' => [
52   - 'type' => Index::STRING_COL
53   - ],
54 48 'phone' => [
55 49 'type' => Index::STRING_COL
56 50 ],
... ...
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 } ?>
... ...