Commit d0a19e42d35c78dda5c53a41aa701cabd53d9f02

Authored by Yarik
1 parent 0d96ed31

test

common/modules/fileloader/assets/FileloaderAsset.php
@@ -20,13 +20,13 @@ @@ -20,13 +20,13 @@
20 ]; 20 ];
21 21
22 public $depends = [ 22 public $depends = [
23 - '\yii\web\YiiAsset',  
24 - '\yii\web\JqueryAsset',  
25 - '\yii\bootstrap\BootstrapAsset', 23 +// '\yii\web\YiiAsset',
  24 +// '\yii\web\JqueryAsset',
  25 +// '\yii\bootstrap\BootstrapAsset',
26 ]; 26 ];
27 27
28 public $jsOptions = [ 28 public $jsOptions = [
29 - 'position' => View::POS_HEAD, 29 + 'position' => View::POS_END,
30 ]; 30 ];
31 31
32 } 32 }
33 \ No newline at end of file 33 \ No newline at end of file
frontend/controllers/AjaxController.php
@@ -151,8 +151,38 @@ @@ -151,8 +151,38 @@
151 $request = \Yii::$app->request; 151 $request = \Yii::$app->request;
152 $response = \Yii::$app->response; 152 $response = \Yii::$app->response;
153 $response->format = $response::FORMAT_JSON; 153 $response->format = $response::FORMAT_JSON;
154 - $model = new Feedback([]);  
155 - $form = $this->renderAjax('feedback_form'); 154 + $model = new Feedback();
  155 + if(!empty( \Yii::$app->user->identity )) {
  156 + /**
  157 + * @var User $user
  158 + */
  159 + $user = \Yii::$app->user->identity;
  160 + $phones = $user->getPhones();
  161 + $model->name = $user->name;
  162 + if(!empty( $phones )) {
  163 + $model->phone = $phones[ 1 ]['phone'];
  164 + }
  165 + if(!empty( $user->email )) {
  166 + $model->email = $user->email;
  167 + }
  168 + }
  169 + $form = $this->renderAjax('feedback_form', [ 'model' => $model ]);
  170 + return ['result' => ['form' => $form]];
  171 + }
  172 +
  173 + public function actionPostFeedback()
  174 + {
  175 + $request = \Yii::$app->request;
  176 + $response = \Yii::$app->response;
  177 + $response->format = $response::FORMAT_JSON;
  178 + $model = new Feedback();
  179 + if($model->load($request->post())) {
  180 + if($model->save()) {
  181 + return ['result' => ['message' => 'Success']];
  182 + }
  183 + }
  184 + $form = $this->renderAjax('feedback_form', [ 'model' => $model ]);
  185 + return ['error' => 'Error detected', 'result' => ['form' => $form]];
156 } 186 }
157 187
158 } 188 }
frontend/messages/ru/app.php
@@ -172,4 +172,11 @@ @@ -172,4 +172,11 @@
172 'Not found' => 'Ничего не найдено', 172 'Not found' => 'Ничего не найдено',
173 'Registration success' => 'Спасибо за Регистрацию! Будучи некоммерческой организацией, мы свободны в своём развитии и нам не нужно идти на компромиссы. Вам понравится это отличие.', 173 'Registration success' => 'Спасибо за Регистрацию! Будучи некоммерческой организацией, мы свободны в своём развитии и нам не нужно идти на компромиссы. Вам понравится это отличие.',
174 'achievement' => 'Достижения', 174 'achievement' => 'Достижения',
  175 + 'Feedback ID' => 'Id обращения',
  176 + 'Feedback name' => 'Ваши имя и фамилия',
  177 + 'Feedback phone' => 'Контактный телефон',
  178 + 'Feedback email' => 'E-mail',
  179 + 'Feedback answer' => 'Вопрос',
  180 + 'Feedback file' => 'Файл',
  181 + 'Feedback date add' => 'Дата обращения',
175 ]; 182 ];
176 \ No newline at end of file 183 \ No newline at end of file
frontend/views/ajax/feedback_form.php
  1 +<?php
  2 + /**
  3 + * @var Feedback $model
  4 + */
  5 +?>
1 <div id="modal_form_contacts"> 6 <div id="modal_form_contacts">
2 <div class="closed-form"></div> 7 <div class="closed-form"></div>
3 <div class="form-resume-wr"> 8 <div class="form-resume-wr">
4 <div class="form-resume-sub style">Отправить сообщение администрации МФП</div> 9 <div class="form-resume-sub style">Отправить сообщение администрации МФП</div>
5 <?php 10 <?php
  11 + use common\models\Feedback;
  12 + use common\modules\fileloader\widgets\FileloaderWidget;
  13 + use yii\helpers\Html;
6 use yii\widgets\ActiveForm; 14 use yii\widgets\ActiveForm;
7 15
8 - $form = ActiveForm::begin([ 'options' => [ 'enctype' => 'multipart/form-data' ] ]); 16 + $form = ActiveForm::begin([
  17 + 'options' => [
  18 + 'enctype' => 'multipart/form-data',
  19 + 'class' => 'feedback_form',
  20 + ],
  21 + ]);
  22 + echo $form->field($model, 'name', [ 'options' => [ 'class' => 'input-blocks-wrapper' ] ])
  23 + ->textInput([ 'class' => 'custom-input-2' ]);
  24 + echo $form->field($model, 'phone', [ 'options' => [ 'class' => 'input-blocks-wrapper' ] ])
  25 + ->textInput([ 'class' => 'custom-input-2' ]);
  26 + echo $form->field($model, 'email', [ 'options' => [ 'class' => 'input-blocks-wrapper' ] ])
  27 + ->textInput([ 'class' => 'custom-input-2' ]);
  28 + echo $form->field($model, 'answer', [ 'options' => [ 'class' => 'input-blocks-wrapper' ] ])
  29 + ->textarea([ 'class' => 'custom-input-2' ]);
9 ?> 30 ?>
10 - <div class="input-blocks-wrapper">  
11 - <label for="qst_name">Ваши имя и фамилия</label>  
12 - <input class="custom-input-2" id="qst_name" name="" type="text">  
13 - </div>  
14 -  
15 - <div class="input-blocks-wrapper">  
16 - <label for="qst_phone">Контактный телефон</label>  
17 - <input class="custom-input-2" id="qst_phone" name="" type="text">  
18 - </div>  
19 -  
20 - <div class="input-blocks-wrapper">  
21 - <label for="qst_phone">E-mail</label>  
22 - <input class="custom-input-2" id="qst_phone" name="" type="text">  
23 - </div>  
24 -  
25 - <div class="input-blocks-wrapper">  
26 - <label for="qst_text">Вопрос</label>  
27 - <textarea class="custom-input-2" id="qst_text" name=""></textarea>  
28 - </div>  
29 -  
30 - <div class="input-blocks-wrapper">  
31 - <div class="contacts-form-wrapper style">  
32 - <div class="contacts-form style"><span>Прикрепить файл</span></div>  
33 - <div class="contacts-form-help style">  
34 - <span>Максимальный размер файла 5 МБ</span>  
35 - </div> 31 + <div class="input-blocks-wrapper">
  32 + <?php
  33 + echo $form->field($model, 'fileloader')
  34 + ->label(false)
  35 + ->widget(FileloaderWidget::className(), [
  36 + 'labelOptions' => [
  37 + 'label' => '<div class="contacts-form-wrapper style"><div class="contacts-form style"><span>Прикрепить файл</span></div><div class="contacts-form-help style"><span>Максимальный размер файла 5 МБ</span></div></div>',
  38 + ],
  39 + 'inputOptions' => [
  40 + 'multiple' => false,
  41 + 'class' => 'hidden',
  42 + ],
  43 + 'options' => [ 'class' => 'fileloader-file' ],
  44 + ]);
  45 + ?>
  46 + </div>
  47 + <?php
  48 + ?>
  49 + <?php
  50 + /*
  51 + ?>
  52 + <div class="input-blocks-wrapper">
  53 + <label for="qst_name">Ваши имя и фамилия</label>
  54 + <input class="custom-input-2" id="qst_name" name="" type="text">
  55 + </div>
  56 +
  57 + <div class="input-blocks-wrapper">
  58 + <label for="qst_phone">Контактный телефон</label>
  59 + <input class="custom-input-2" id="qst_phone" name="" type="text">
  60 + </div>
  61 +
  62 + <div class="input-blocks-wrapper">
  63 + <label for="qst_phone">E-mail</label>
  64 + <input class="custom-input-2" id="qst_phone" name="" type="text">
36 </div> 65 </div>
37 66
38 - <div class="tst-input-hidden-cont">  
39 - <input class="" type="file" value=""/> 67 + <div class="input-blocks-wrapper">
  68 + <label for="qst_text">Вопрос</label>
  69 + <textarea class="custom-input-2" id="qst_text" name=""></textarea>
40 </div> 70 </div>
41 71
42 - </div> 72 + <div class="input-blocks-wrapper">
  73 + <div class="contacts-form-wrapper style">
  74 + <div class="contacts-form style"><span>Прикрепить файл</span></div>
  75 + <div class="contacts-form-help style">
  76 + <span>Максимальный размер файла 5 МБ</span>
  77 + </div>
  78 + </div>
  79 +
  80 + <div class="tst-input-hidden-cont">
  81 + <input class="" type="file" value=""/>
  82 + </div>
  83 +
  84 + </div>
  85 + */
  86 + ?>
43 87
44 - <div class="form-actions style">  
45 - <button type="submit" class="login-button">Отправить</button>  
46 - </div> 88 + <div class="form-actions style">
  89 + <?php
  90 + echo Html::submitButton('Отправить', [ 'class' => 'login-button feedback_submit' ]);
  91 + ?>
  92 + </div>
47 <?php 93 <?php
48 - $form->end(); 94 + $form->end();
49 ?> 95 ?>
50 <div class="res_form_line"></div> 96 <div class="res_form_line"></div>
51 </div> 97 </div>
frontend/web/css/style.css
@@ -8037,3 +8037,6 @@ li.active-menu-admin:hover a .ico_num { @@ -8037,3 +8037,6 @@ li.active-menu-admin:hover a .ico_num {
8037 display: none; 8037 display: none;
8038 } 8038 }
8039 .tender_questions_ .input-blocks-comm-button {margin-top: 20px} 8039 .tender_questions_ .input-blocks-comm-button {margin-top: 20px}
  8040 +.hidden {
  8041 + display: none;
  8042 +}
8040 \ No newline at end of file 8043 \ No newline at end of file
frontend/web/js/forms.js
@@ -72,9 +72,11 @@ $(document).ready( @@ -72,9 +72,11 @@ $(document).ready(
72 function addContacts() 72 function addContacts()
73 { 73 {
74 $.post( 74 $.post(
75 - "/site/forms-modal-contacts", function(data) 75 + "/ajax/get-feedback", function(data)
76 { 76 {
77 - $('.forms-modal-hide').append(data) 77 +
  78 + $('.forms-modal-hide').append(data.result.form)
  79 +
78 } 80 }
79 ) 81 )
80 .fail( 82 .fail(
@@ -85,6 +87,7 @@ $(document).ready( @@ -85,6 +87,7 @@ $(document).ready(
85 } 87 }
86 ) 88 )
87 .done( 89 .done(
  90 +
88 function() 91 function()
89 { 92 {
90 var newMarg = $(window).scrollTop(); 93 var newMarg = $(window).scrollTop();
@@ -114,6 +117,7 @@ $(document).ready( @@ -114,6 +117,7 @@ $(document).ready(
114 function(e) 117 function(e)
115 { 118 {
116 e.preventDefault() 119 e.preventDefault()
  120 + console.log('dsadasdaS');
117 addRemoveBlocks() 121 addRemoveBlocks()
118 addContacts() 122 addContacts()
119 } 123 }
@@ -593,5 +597,13 @@ $(document).ready( @@ -593,5 +597,13 @@ $(document).ready(
593 $(this).parent().find('.help-block').hide(); 597 $(this).parent().find('.help-block').hide();
594 }); 598 });
595 599
  600 + $(document).on('submit', '.feedback_form', function(e) {
  601 + e.preventDefault();
  602 + console.log('event');
  603 + $.post('/ajax/post-feedback', $(this).serialize(), function(data) {
  604 + console.log(data);
  605 + });
  606 + });
  607 +
596 } 608 }
597 ) 609 )
598 \ No newline at end of file 610 \ No newline at end of file