Ejemplo n.º 1
0
 public function actionRegistration()
 {
     $model = new SignupForm();
     if (\Yii::$app->request->isAjax) {
         $model->username = \Yii::$app->request->post('username');
         $model->password = \Yii::$app->request->post('password');
         $model->password_repeat = \Yii::$app->request->post('password_repeat');
         $phone = \Yii::$app->request->post('phone');
         $phone = str_replace(['(', ')', '-', '+'], "", $phone);
         $phone = substr($phone, 2);
         $model->phone = $phone;
         $user = $model->signup();
         if ($user == -1) {
             return json_encode(['error' => true, 'message' => 'К данному номеру телефона уже привязан аккаунт']);
         } elseif ($user == -2) {
             return json_encode(['error' => true, 'message' => 'Неверно введенны данные']);
         } else {
             $model->login();
             return $this->redirect('/');
         }
     } else {
         if (\Yii::$app->user->isGuest) {
             if ($model->load(\Yii::$app->request->post())) {
                 $user = $model->signup();
                 if ($user) {
                     $this->redirect('/');
                 }
             }
             return $this->render('registration', ['model' => $model]);
         } else {
             return $this->redirect('/');
         }
     }
 }
Ejemplo n.º 2
0
 public function actionSignup()
 {
     $model = new SignupForm();
     if ($model->load(Yii::$app->request->post())) {
         $user = $model->signup();
         if ($user && Yii::$app->getUser()->login($user)) {
             return $this->goHome();
         }
     }
     return $this->render('signup', ['model' => $model]);
 }
Ejemplo n.º 3
0
 /**
  * @return string|Response
  */
 public function actionSignup()
 {
     $model = new SignupForm();
     if ($model->load(Yii::$app->request->post())) {
         $user = $model->signup();
         if ($user) {
             if ($model->shouldBeActivated()) {
                 Yii::$app->getSession()->setFlash('alert', ['body' => Yii::t('frontend', 'Your account has been successfully created. Check your email for further instructions.'), 'options' => ['class' => 'alert-success']]);
             } else {
                 Yii::$app->getUser()->login($user);
             }
             return $this->goHome();
         }
     }
     return $this->render('signup', ['model' => $model]);
 }
Ejemplo n.º 4
0
 public function testNotCorrectSignup()
 {
     $model = new SignupForm(['username' => 'troy.becker', 'email' => '*****@*****.**', 'password' => 'some_password']);
     expect('username and email are in use, user should not be created', $model->signup())->null();
 }