Commit a679569431d6e10eb7e9562b88e09d3ee681525a

Authored by Timur Kastemirov
1 parent 740e8bee

feedback calculator almost

common/mail/calculator.php 0 → 100644
  1 +<?php
  2 + use common\models\Feedback;
  3 + use yii\web\View;
  4 +
  5 + /**
  6 + * @var View $this
  7 + * @var Feedback $model
  8 + */
  9 +
  10 +?>
  11 +
  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', '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', 'JSON string: ') ?></b></td>
  32 + <td><?= $model->calc_json_info ?></td>
  33 + </tr>
  34 + </tbody>
  35 +</table>
common/models/Feedback.php
@@ -24,16 +24,18 @@ @@ -24,16 +24,18 @@
24 const calculator_attributes = [ 24 const calculator_attributes = [
25 'adress', 'module_install_angle', 'latitude', 'longitude', 25 'adress', 'module_install_angle', 'latitude', 'longitude',
26 'south_deviation', 'power_station_type', 'area', 'power', 26 'south_deviation', 'power_station_type', 'area', 'power',
27 - 'budget', 'day_consumption', 'month_consumption', 'consumptors_total_power',  
28 - 'autonomous_days' 27 + 'budget', 'auth_day', 'auth_month', 'auth_pwr_all',
  28 + 'auth_pwr_days'
29 ]; 29 ];
30 -  
31 - private $attributeValues = []; 30 +
  31 + public $attributeValues = [];
32 32
33 public function __set($name, $value) 33 public function __set($name, $value)
34 { 34 {
35 if(in_array($name, self::calculator_attributes)){ 35 if(in_array($name, self::calculator_attributes)){
36 - $this->attributeValues[$name] = $value; 36 + if(isset($value) && !empty($value)){
  37 + $this->attributeValues[$name] = $value;
  38 + }
37 } 39 }
38 else{ 40 else{
39 parent::__set($name, $value); 41 parent::__set($name, $value);
@@ -111,7 +113,6 @@ @@ -111,7 +113,6 @@
111 'name', 113 'name',
112 'phone', 114 'phone',
113 'email', 115 'email',
114 - 'returnUrl',  
115 'topic', 116 'topic',
116 'calc_json_info', 117 'calc_json_info',
117 118
@@ -125,9 +126,9 @@ @@ -125,9 +126,9 @@
125 ); 126 );
126 } 127 }
127 128
128 - public function setCalcJsonInfo( array $value) 129 + public function setCalcJsonInfo()
129 { 130 {
130 - $this->calc_json_info = json_encode($value); 131 + $this->calc_json_info = json_encode($this->attributeValues);
131 } 132 }
132 133
133 public function getCalcJsonInfo() : array 134 public function getCalcJsonInfo() : array
frontend/controllers/SiteController.php
@@ -160,8 +160,8 @@ @@ -160,8 +160,8 @@
160 if (empty(Yii::$app->request->post())) { 160 if (empty(Yii::$app->request->post())) {
161 throw new BadRequestHttpException(); 161 throw new BadRequestHttpException();
162 } else { 162 } else {
163 -  
164 - switch (Yii::$app->request->post('topic')){ 163 + $post = Yii::$app->request->post('Feedback');
  164 + switch ($post['topic']){
165 case Feedback::SCENARIO_FEEDBACK : 165 case Feedback::SCENARIO_FEEDBACK :
166 $model = new Feedback(['scenario' => Feedback::SCENARIO_FEEDBACK]); 166 $model = new Feedback(['scenario' => Feedback::SCENARIO_FEEDBACK]);
167 $view = 'feedback'; 167 $view = 'feedback';
@@ -178,14 +178,7 @@ @@ -178,14 +178,7 @@
178 $model = new Feedback(['scenario' => Feedback::SCENARIO_CALCULATOR]); 178 $model = new Feedback(['scenario' => Feedback::SCENARIO_CALCULATOR]);
179 $view = 'calculator'; 179 $view = 'calculator';
180 $isLoaded = $model->load(Yii::$app->request->post()); 180 $isLoaded = $model->load(Yii::$app->request->post());
181 - $newPost = [];  
182 - foreach (Feedback::calculator_attributes as $calculator_attribute_name){  
183 - $calculator_attribute_value = Yii::$app->request->post($calculator_attribute_name);  
184 - if( isset($calculator_attribute_value) && !empty($calculator_attribute_value) ){  
185 - $newPost[$calculator_attribute_name] = $calculator_attribute_value;  
186 - }  
187 - }  
188 - $model->setCalcJsonInfo($newPost); 181 + $model->setCalcJsonInfo();
189 break; 182 break;
190 183
191 default: 184 default:
@@ -216,6 +209,8 @@ @@ -216,6 +209,8 @@
216 return [ 209 return [
217 'success' => true, 210 'success' => true,
218 'message' => 'Success message', 211 'message' => 'Success message',
  212 + 'view' => $view,
  213 + 'model' => $model->attributeValues,
219 'alert' => $this->renderPartial('success_alert'), 214 'alert' => $this->renderPartial('success_alert'),
220 ]; 215 ];
221 } else { 216 } else {
frontend/views/layouts/main.php
@@ -565,165 +565,98 @@ @@ -565,165 +565,98 @@
565 <div class="col-md-12"> 565 <div class="col-md-12">
566 <div class="row"> 566 <div class="row">
567 <div class="col-md-4"> 567 <div class="col-md-4">
568 - <div class="form-group field-calculate-email">  
569 - <label class="control-label"><?= \Yii::t(  
570 - 'app',  
571 - 'info_area'  
572 - ) ?></label>  
573 - <input type="text" class="form-control">  
574 -  
575 - <p class="help-block help-block-error"></p>  
576 - </div> 568 + <?= $form->field($feedback, "area")
  569 + ->textInput()
  570 + ->label(
  571 + \Yii::t(
  572 + 'app',
  573 + 'info_area'
  574 + )
  575 + )?>
577 </div> 576 </div>
578 <div class="col-md-4"> 577 <div class="col-md-4">
579 - <div class="form-group field-calculate-email">  
580 - <label class="control-label"><?= \Yii::t(  
581 - 'app',  
582 - 'info_power'  
583 - ) ?></label>  
584 - <input type="text" class="form-control">  
585 -  
586 - <p class="help-block help-block-error"></p>  
587 - </div> 578 + <?= $form->field($feedback, "power")
  579 + ->textInput()
  580 + ->label(
  581 + \Yii::t(
  582 + 'app',
  583 + 'info_power'
  584 + )
  585 + )?>
588 </div> 586 </div>
589 <div class="col-md-4"> 587 <div class="col-md-4">
590 - <div class="form-group field-calculate-email">  
591 - <label class="control-label"><?= \Yii::t(  
592 - 'app',  
593 - 'info_budget'  
594 - ) ?></label>  
595 - <input type="text" class="form-control">  
596 -  
597 - <p class="help-block help-block-error"></p>  
598 - </div> 588 + <?= $form->field($feedback, "budget")
  589 + ->textInput()
  590 + ->label(
  591 + \Yii::t(
  592 + 'app',
  593 + 'info_budget'
  594 + )
  595 + )?>
599 </div> 596 </div>
600 </div> 597 </div>
601 </div> 598 </div>
602 </div> 599 </div>
603 </div> 600 </div>
604 </div> 601 </div>
605 -  
606 - <?php $form::end()?>  
607 602
608 - <form action="" id="calculate-form">  
609 -  
610 - <div class="row">  
611 - <div class="col-md-12">  
612 - <p style="font-weight:bold;"><?= \Yii::t('app', 'info_power_ses') ?></p>  
613 - <div class="row">  
614 - <div class="col-md-12">  
615 - <div class="row" style="margin-bottom: 15px;">  
616 - <div class="col-md-3 col-sm-12 col-xs-12">  
617 - <input class="custom-radio" id="custom-radio-Автономная" type="radio" name="Calculate[mode]" value="Автономная"><label for="custom-radio-Автономная"></label><span style="margin-left:5px;"><?= \Yii::t(  
618 - 'app',  
619 - 'authonomous'  
620 - ) ?></span></div>  
621 - <div class="col-md-3 col-sm-12 col-xs-12">  
622 - <input class="custom-radio" id="custom-radio-Сетевая" type="radio" name="Calculate[mode]" value="Сетевая"><label for="custom-radio-Сетевая"></label><span style="margin-left:5px;"><?= \Yii::t(  
623 - 'app',  
624 - 'ses_network'  
625 - ) ?></span></div>  
626 - </div>  
627 - </div>  
628 - <div class="col-md-12">  
629 - <div class="row">  
630 - <div class="col-md-4">  
631 - <div class="form-group field-calculate-email">  
632 - <label class="control-label"><?= \Yii::t(  
633 - 'app',  
634 - 'info_area'  
635 - ) ?></label>  
636 - <input type="text" class="form-control">  
637 -  
638 - <p class="help-block help-block-error"></p>  
639 - </div>  
640 - </div>  
641 - <div class="col-md-4">  
642 - <div class="form-group field-calculate-email">  
643 - <label class="control-label"><?= \Yii::t(  
644 - 'app',  
645 - 'info_power'  
646 - ) ?></label>  
647 - <input type="text" class="form-control">  
648 -  
649 - <p class="help-block help-block-error"></p>  
650 - </div>  
651 - </div>  
652 - <div class="col-md-4">  
653 - <div class="form-group field-calculate-email">  
654 - <label class="control-label"><?= \Yii::t(  
655 - 'app',  
656 - 'info_budget'  
657 - ) ?></label>  
658 - <input type="text" class="form-control">  
659 -  
660 - <p class="help-block help-block-error"></p>  
661 - </div>  
662 - </div>  
663 - </div>  
664 - </div>  
665 - </div>  
666 - </div>  
667 - </div>  
668 -  
669 - <div class="row">  
670 - <div class="col-md-12">  
671 - <p style="font-weight:bold;"><?= \Yii::t(  
672 - 'app',  
673 - 'info_power_ses_auth'  
674 - ) ?></p>  
675 - <div class="row">  
676 - <div class="col-md-6">  
677 - <div class="form-group field-calculate-email">  
678 - <label class="control-label"><?= \Yii::t( 603 + <div class="row">
  604 + <div class="col-md-12">
  605 + <p style="font-weight:bold;"><?= \Yii::t(
  606 + 'app',
  607 + 'info_power_ses_auth'
  608 + ) ?></p>
  609 + <div class="row">
  610 + <div class="col-md-6">
  611 + <?=$form->field($feedback, "auth_day")
  612 + ->textInput()
  613 + ->label(
  614 + \Yii::t(
679 'app', 615 'app',
680 'info_auth_day' 616 'info_auth_day'
681 - ) ?></label>  
682 - <input type="text" class="form-control">  
683 -  
684 - <p class="help-block help-block-error"></p>  
685 - </div>  
686 - <div class="form-group field-calculate-email">  
687 - <label class="control-label"><?= \Yii::t( 617 + )
  618 + )?>
  619 +
  620 + <?=$form->field($feedback, "auth_month")
  621 + ->textInput()
  622 + ->label(
  623 + \Yii::t(
688 'app', 624 'app',
689 'info_auth_month' 625 'info_auth_month'
690 - ) ?></label>  
691 - <input type="text" class="form-control">  
692 -  
693 - <p class="help-block help-block-error"></p>  
694 - </div>  
695 - </div>  
696 - <div class="col-md-6">  
697 - <div class="form-group field-calculate-email">  
698 - <label class="control-label"><?= \Yii::t( 626 + )
  627 + )?>
  628 + </div>
  629 +
  630 + <div class="col-md-6">
  631 + <?=$form->field($feedback, "auth_pwr_all")
  632 + ->textInput()
  633 + ->label(
  634 + \Yii::t(
699 'app', 635 'app',
700 'info_auth_pwr_all' 636 'info_auth_pwr_all'
701 - ) ?></label>  
702 - <input type="text" class="form-control">  
703 -  
704 - <p class="help-block help-block-error"></p>  
705 - </div>  
706 - <div class="form-group field-calculate-email">  
707 - <label class="control-label"><?= \Yii::t( 637 + )
  638 + )?>
  639 + <?=$form->field($feedback, "auth_pwr_days")
  640 + ->textInput()
  641 + ->label(
  642 + \Yii::t(
708 'app', 643 'app',
709 'info_auth_pwr_days' 644 'info_auth_pwr_days'
710 - ) ?></label>  
711 - <input type="text" class="form-control">  
712 -  
713 - <p class="help-block help-block-error"></p>  
714 - </div>  
715 - </div> 645 + )
  646 + )?>
716 </div> 647 </div>
717 </div> 648 </div>
718 </div> 649 </div>
719 -  
720 - <p class="text-center submit-wr">  
721 - <button type="submit" class="send-form btn btn-lg btn-template-primary"><?= \Yii::t(  
722 - 'app',  
723 - 'info_calculate'  
724 - ) ?></button>  
725 - </p>  
726 - </form> 650 + </div>
  651 +
  652 + <p class="text-center submit-wr">
  653 + <button type="submit" class="send-form btn btn-lg btn-template-primary"><?= \Yii::t(
  654 + 'app',
  655 + 'info_calculate'
  656 + ) ?></button>
  657 + </p>
  658 +
  659 + <?php $form::end()?>
727 660
728 </div> 661 </div>
729 </div> 662 </div>
frontend/web/js/script.js
@@ -6,7 +6,7 @@ $( @@ -6,7 +6,7 @@ $(
6 */ 6 */
7 $(document) 7 $(document)
8 .on( 8 .on(
9 - 'beforeSubmit', '#feedback-form', function(e) { 9 + 'beforeSubmit', '#calculate-form, #feedback-form', function(e) {
10 var f = this; 10 var f = this;
11 var form = $(this); 11 var form = $(this);
12 var formData = form.serialize(); 12 var formData = form.serialize();
@@ -17,7 +17,7 @@ $( @@ -17,7 +17,7 @@ $(
17 data: formData, 17 data: formData,
18 success: function(data) { 18 success: function(data) {
19 f.reset(); 19 f.reset();
20 - $('#feedback-modal') 20 + $('#feedback-modal,#calculate-modal')
21 .modal('hide'); 21 .modal('hide');
22 form.data('yiiActiveForm').validated = false; 22 form.data('yiiActiveForm').validated = false;
23 $('#success-modal') 23 $('#success-modal')
@@ -32,7 +32,7 @@ $( @@ -32,7 +32,7 @@ $(
32 } 32 }
33 ) 33 )
34 .on( 34 .on(
35 - 'submit', '#feedback-form', function(e) { 35 + 'submit', '#calculate-form, #feedback-form', function(e) {
36 e.preventDefault(); 36 e.preventDefault();
37 } 37 }
38 ); 38 );