From 977f4921154cd962e7234215f050d81e73a3f7c1 Mon Sep 17 00:00:00 2001 From: Yarik Date: Thu, 11 May 2017 12:05:26 +0300 Subject: [PATCH] Callback --- frontend/controllers/SiteController.php | 49 ++++++++++++++++++++++++++++++++++++++++++------- frontend/views/layouts/main.php | 73 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-- 2 files changed, 113 insertions(+), 9 deletions(-) diff --git a/frontend/controllers/SiteController.php b/frontend/controllers/SiteController.php index a38fc76..c756221 100755 --- a/frontend/controllers/SiteController.php +++ b/frontend/controllers/SiteController.php @@ -13,6 +13,7 @@ use common\models\SignupForm; use Yii; use yii\base\InvalidParamException; + use yii\bootstrap\Html; use yii\web\BadRequestHttpException; use yii\web\Controller; use yii\filters\VerbFilter; @@ -180,12 +181,46 @@ } } + public function actionCallback() + { + Yii::$app->response->format = Response::FORMAT_JSON; + $model = new Feedback( + [ + 'scenario' => Feedback::SCENARIO_CALLBACK, + ] + ); + if ($model->load(Yii::$app->request->post()) && $model->save()) { + \Yii::$app->session->setFlash( + 'success', + Html::tag( + 'div', + Html::tag( + 'h3', + \Yii::t('app', 'Обратный звонок') + ) . Html::tag( + 'p', + \Yii::t( + 'app', + 'Ваша заявка успешно отправлена. Мы свяжемся с Вами в ближайшее время.' + ) + ) + ) + ); + return $this->redirect($model->returnUrl ? : [ 'index' ]); + } else { + return [ + 'success' => false, + 'error' => $model->errors, + ]; + } + } + public function actionLogin() { if (!\Yii::$app->user->isGuest) { return $this->redirect([ 'index' ]); } - + $loginForm = new LoginForm(); $signupForm = new SignupForm(); if ($loginForm->load(\Yii::$app->request->post()) && $loginForm->login()) { @@ -216,7 +251,7 @@ public function actionLogout() { \Yii::$app->user->logout(); - + return $this->redirect([ 'index' ]); } @@ -231,7 +266,7 @@ if ($model->load(Yii::$app->request->post()) && $model->validate()) { if ($model->sendEmail()) { Yii::$app->session->setFlash('success', 'Check your email for further instructions.'); - + return $this->redirect([ 'index' ]); } else { Yii::$app->session->setFlash( @@ -240,7 +275,7 @@ ); } } - + return $this->render( 'requestPasswordResetToken', [ @@ -264,13 +299,13 @@ } catch (InvalidParamException $e) { throw new BadRequestHttpException($e->getMessage()); } - + if ($model->load(Yii::$app->request->post()) && $model->validate() && $model->resetPassword()) { Yii::$app->session->setFlash('success', 'New password saved.'); - + return $this->redirect([ 'index' ]); } - + return $this->render( 'resetPassword', [ diff --git a/frontend/views/layouts/main.php b/frontend/views/layouts/main.php index 0b8e201..d113510 100755 --- a/frontend/views/layouts/main.php +++ b/frontend/views/layouts/main.php @@ -19,6 +19,7 @@ use yii\base\Model; use yii\bootstrap\ActiveForm; use yii\bootstrap\Html; + use yii\helpers\Url; use yii\web\View; use yii\widgets\Breadcrumbs; @@ -138,8 +139,8 @@ _________________________________________________________ -->
phone; ?> - - Обратный звонок + +
@@ -440,6 +441,74 @@ _________________________________________________________ --> ?> + + + + Feedback::SCENARIO_CALLBACK, + 'returnUrl' => Url::current([], true), + ] + ); + ?> + + -- libgit2 0.21.4