Commit d0a19e42d35c78dda5c53a41aa701cabd53d9f02
1 parent
0d96ed31
test
Showing
6 changed files
with
140 additions
and
42 deletions
Show diff stats
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 |