Ejemplo n.º 1
0
 /**
  * Updates an existing User model.
  * If update is successful, the browser will be redirected to the 'view' page.
  * @param string $id
  * @return mixed
  */
 public function actionUpdate($id)
 {
     $model = $this->findModel($id);
     if ($model->load(Yii::$app->request->post()) and $model->validate() and $modelAdditionBlocks = \app\helpers\LetHelper::saveAdditionBlocks($model)) {
         if ($model->save() and is_array($modelAdditionBlocks)) {
             foreach ($modelAdditionBlocks as $modelAdditionBlock) {
                 $modelAdditionBlock->_id = $model->_id;
                 $modelAdditionBlock->save();
             }
         }
     }
     Yii::$app->view->title = Yii::t($this->module->id, 'Edit "{title}"', ['title' => $model->email]);
     Yii::$app->view->params['breadcrumbs'][] = ['label' => Yii::t($this->module->id, 'Account'), 'url' => ['index']];
     Yii::$app->view->params['breadcrumbs'][] = Yii::$app->view->title;
     return $this->render('form', ['model' => $model]);
 }
Ejemplo n.º 2
0
 public function actionRegisterExtra()
 {
     $model = new User(['scenario' => 'register']);
     $modelExtra = new UserExtra();
     $oauth = false;
     // Dung kiem tra xem co dang ky qua OAuth hay ko
     if (($oauthParam = Yii::$app->request->getQueryParam('oauth')) != null) {
         if (($oauthData = StringHelper::decrypt($oauthParam)) != null) {
             $oauth = true;
             if ($model->email === null) {
                 $model->email = $oauthData['email'];
             }
             if ($model->display_name === null) {
                 $model->display_name = $oauthData['name'];
             }
         }
     }
     if ($model->load(Yii::$app->request->post()) and $model->validate() and $modelAdditionBlocks = LetHelper::saveAdditionBlocks($model)) {
         // Default value
         $model->status = User::STATUS_ACTIVE;
         // Bỏ qua bước xác thực khi đăng ký qua OAuth
         if ($oauth === true && !empty($oauthData)) {
             $model->openids = [$oauthData['provider'] => $oauthData['uid']];
         }
         if ($model->save()) {
             if (is_array($modelAdditionBlocks)) {
                 foreach ($modelAdditionBlocks as $modelAdditionBlock) {
                     $modelAdditionBlock->_id = (string) $model->_id;
                     $modelAdditionBlock->save();
                 }
             }
             Yii::$app->user->login($model);
             return $this->goHome();
         }
     }
     return $this->render('registerExtra', ['model' => $model, 'modelExtra' => $modelExtra]);
 }
Ejemplo n.º 3
0
 public function actionRegister()
 {
     $isAjax = Yii::$app->request->get('ajax', '0');
     $model = new User();
     $message = [];
     $extraModel = new \app\modules\account\models\UserExtra();
     $jobModel = new \app\modules\account\models\UserJob();
     $jobModel->type = Yii::$app->request->get('type', 'recruiter');
     if ($model->load(Yii::$app->request->post()) and $model->validate() and $modelAdditionBlocks = \app\helpers\LetHelper::saveAdditionBlocks($model)) {
         $model->status = User::STATUS_ACTIVE;
         if ($model->save()) {
             if (is_array($modelAdditionBlocks)) {
                 foreach ($modelAdditionBlocks as $modelAdditionBlock) {
                     $modelAdditionBlock->_id = $model->_id;
                     $modelAdditionBlock->save();
                 }
             }
             $message = ['message' => 'Đăng ký tài khoản thành công'];
             if (!$isAjax) {
                 $this->redirect($this->goBack());
             }
         }
     } else {
         $message = ['message' => $model->getErrors()];
     }
     if ($isAjax) {
         echo json_encode($message);
     } else {
         Yii::$app->view->title = Yii::t($this->module->id, 'Register');
         Yii::$app->view->params['breadcrumbs'][] = Yii::$app->view->title;
         $renderView = $jobModel->type == 'recruiter' ? 'register-recruiter' : 'register-seeker';
         return $this->render($renderView, ['model' => $model, 'extraModel' => $extraModel, 'jobModel' => $jobModel]);
     }
 }