Commit d0a19e42d35c78dda5c53a41aa701cabd53d9f02

Authored by Yarik
1 parent 0d96ed31

test

common/modules/fileloader/assets/FileloaderAsset.php
... ... @@ -20,13 +20,13 @@
20 20 ];
21 21  
22 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 28 public $jsOptions = [
29   - 'position' => View::POS_HEAD,
  29 + 'position' => View::POS_END,
30 30 ];
31 31  
32 32 }
33 33 \ No newline at end of file
... ...
frontend/controllers/AjaxController.php
... ... @@ -151,8 +151,38 @@
151 151 $request = \Yii::$app->request;
152 152 $response = \Yii::$app->response;
153 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 172 'Not found' => 'Ничего не найдено',
173 173 'Registration success' => 'Спасибо за Регистрацию! Будучи некоммерческой организацией, мы свободны в своём развитии и нам не нужно идти на компромиссы. Вам понравится это отличие.',
174 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 183 \ No newline at end of file
... ...
frontend/views/ajax/feedback_form.php
  1 +<?php
  2 + /**
  3 + * @var Feedback $model
  4 + */
  5 +?>
1 6 <div id="modal_form_contacts">
2 7 <div class="closed-form"></div>
3 8 <div class="form-resume-wr">
4 9 <div class="form-resume-sub style">Отправить сообщение администрации МФП</div>
5 10 <?php
  11 + use common\models\Feedback;
  12 + use common\modules\fileloader\widgets\FileloaderWidget;
  13 + use yii\helpers\Html;
6 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 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 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 93 <?php
48   - $form->end();
  94 + $form->end();
49 95 ?>
50 96 <div class="res_form_line"></div>
51 97 </div>
... ...
frontend/web/css/style.css
... ... @@ -8037,3 +8037,6 @@ li.active-menu-admin:hover a .ico_num {
8037 8037 display: none;
8038 8038 }
8039 8039 .tender_questions_ .input-blocks-comm-button {margin-top: 20px}
  8040 +.hidden {
  8041 + display: none;
  8042 +}
8040 8043 \ No newline at end of file
... ...
frontend/web/js/forms.js
... ... @@ -72,9 +72,11 @@ $(document).ready(
72 72 function addContacts()
73 73 {
74 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 82 .fail(
... ... @@ -85,6 +87,7 @@ $(document).ready(
85 87 }
86 88 )
87 89 .done(
  90 +
88 91 function()
89 92 {
90 93 var newMarg = $(window).scrollTop();
... ... @@ -114,6 +117,7 @@ $(document).ready(
114 117 function(e)
115 118 {
116 119 e.preventDefault()
  120 + console.log('dsadasdaS');
117 121 addRemoveBlocks()
118 122 addContacts()
119 123 }
... ... @@ -593,5 +597,13 @@ $(document).ready(
593 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 610 \ No newline at end of file
... ...