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