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 | 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
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 | ... | ... |