Commit f3a5cf0588a9bd9b295591eab5081eab4afdbf7c
1 parent
e582a8c8
feedback message info
Showing
2 changed files
with
40 additions
and
13 deletions
Show diff stats
frontend/controllers/SiteController.php
| @@ -244,7 +244,7 @@ | @@ -244,7 +244,7 @@ | ||
| 244 | $isLoaded = $model->load(Yii::$app->request->post()); | 244 | $isLoaded = $model->load(Yii::$app->request->post()); |
| 245 | break; | 245 | break; |
| 246 | 246 | ||
| 247 | - case Feedback::SCENARIO_CALLBACK : | 247 | + case Feedback::SCENARIO_CALLBACK or 'product' : |
| 248 | $model = new Feedback([ 'scenario' => Feedback::SCENARIO_CALLBACK ]); | 248 | $model = new Feedback([ 'scenario' => Feedback::SCENARIO_CALLBACK ]); |
| 249 | $view = 'feedback'; | 249 | $view = 'feedback'; |
| 250 | $isLoaded = $model->load(Yii::$app->request->post()); | 250 | $isLoaded = $model->load(Yii::$app->request->post()); |
| @@ -272,21 +272,25 @@ | @@ -272,21 +272,25 @@ | ||
| 272 | } | 272 | } |
| 273 | 273 | ||
| 274 | if ($isLoaded && $model->save()) { | 274 | if ($isLoaded && $model->save()) { |
| 275 | - | ||
| 276 | - $mailer->compose( | ||
| 277 | - $view, | ||
| 278 | - [ | ||
| 279 | - 'model' => $model, | ||
| 280 | - ] | ||
| 281 | - ) | ||
| 282 | - ->setFrom(['artbox@domain.com']) | ||
| 283 | - ->setTo( | 275 | + try { |
| 276 | + $mailer->compose( | ||
| 277 | + $view, | ||
| 284 | [ | 278 | [ |
| 285 | - !empty($email) ? $email : $settings->email, | 279 | + 'model' => $model, |
| 286 | ] | 280 | ] |
| 287 | ) | 281 | ) |
| 288 | - ->setSubject(\Yii::t('app', 'Feedback')) | ||
| 289 | - ->send(); | 282 | + ->setFrom(['artbox@domain.com']) |
| 283 | + ->setTo( | ||
| 284 | + [ | ||
| 285 | + !empty($email) ? $email : $settings->email, | ||
| 286 | + ] | ||
| 287 | + ) | ||
| 288 | + ->setSubject(\Yii::t('app', 'Feedback')) | ||
| 289 | + ->send(); | ||
| 290 | + } catch (\Exception $e){ | ||
| 291 | + | ||
| 292 | + } | ||
| 293 | + | ||
| 290 | 294 | ||
| 291 | return [ | 295 | return [ |
| 292 | 'success' => true, | 296 | 'success' => true, |
frontend/web/js/product.js
| @@ -10,6 +10,29 @@ $('#order-product').click(function (e){ | @@ -10,6 +10,29 @@ $('#order-product').click(function (e){ | ||
| 10 | console.log(message + phoneInput.value); | 10 | console.log(message + phoneInput.value); |
| 11 | var phone = '+38' + phoneInput.value; | 11 | var phone = '+38' + phoneInput.value; |
| 12 | if(phone.length===17){ | 12 | if(phone.length===17){ |
| 13 | + $.ajax({ | ||
| 14 | + type: "POST", | ||
| 15 | + url: '/site/feedback', | ||
| 16 | + data: | ||
| 17 | + {'Feedback': { | ||
| 18 | + 'phone': phone, | ||
| 19 | + 'message': message, | ||
| 20 | + 'topic': 'product', | ||
| 21 | + 'name': phone, | ||
| 22 | + 'returnUrl': '/' | ||
| 23 | + } | ||
| 24 | + }, | ||
| 25 | + success: function(data) { | ||
| 26 | + if (data.success) { | ||
| 27 | + success(); | ||
| 28 | + } else { | ||
| 29 | + alert(data.error) | ||
| 30 | + } | ||
| 31 | + }, | ||
| 32 | + error: function() { | ||
| 33 | + alert('Achtung!'); | ||
| 34 | + } | ||
| 35 | + }); | ||
| 13 | console.log('good') | 36 | console.log('good') |
| 14 | } | 37 | } |
| 15 | }) | 38 | }) |