protected function afterSave()
 {
     parent::afterSave();
     // send the needed emails for account activation
     if (($this->scenario === 'admin' || $this->scenario === 'registration') && $this->status === self::WAITING_ACTIVATION) {
         $mail = new UGMail($this, UGMail::ACTIVATION);
         $mail->send();
     }
     // set the flash messages
     if ($this->scenario === 'registration' || $this->scenario === 'recovery' || $this->scenario === 'swift_recovery') {
         if ((int) $this->status === self::WAITING_ACTIVATION) {
             Yii::app()->user->setFlash('success', Yii::t('userGroupsModule.general', 'An email was sent with the instructions to activate your account to the address {email}.', array('{email}' => $this->email)));
         } else {
             if ((int) $this->status === self::WAITING_APPROVAL) {
                 Yii::app()->user->setFlash('success', Yii::t('userGroupsModule.general', 'Registration Complete. You now have to wait for an admin to approve your account.'));
             } else {
                 Yii::app()->user->setFlash('success', Yii::t('userGroupsModule.general', 'Registration Complete, you can now login.'));
             }
         }
     }
 }
Пример #2
0
 /**
  * form for new pass request
  */
 public function actionPassRequest()
 {
     $formmodel = new UserGroupsUser('passRequest');
     if (isset($_POST['UserGroupsUser'])) {
         $formmodel->attributes = $_POST['UserGroupsUser'];
         $attr = 'username';
         $val = $formmodel->username;
         if (!$formmodel->username) {
             $attr = 'email';
             $val = $formmodel->email;
         }
         if (!$formmodel->email) {
             $attr = 'username';
             $val = $formmodel->username;
         }
         if ($formmodel->username || $formmodel->email) {
             $model = UserGroupsUser::model()->findByAttributes(array($attr => $val));
             if ($model) {
                 $model->scenario = 'passRequest';
                 if ($model->save()) {
                     $mail = new UGMail($model, UGMail::PASS_RESET);
                     if ($mail->send()) {
                         if (!Yii::app()->user->hasFlash('success')) {
                             Yii::app()->user->setFlash('success', Yii::t('UserGroupsModule.general', 'An email containing the instructions to reset your password has been sent to your email address: {email}'));
                         }
                     }
                 } else {
                     //print_r ($model->errors); die();
                     Yii::app()->user->setFlash('success', Yii::t('userGroupsModule.general', 'An Error Occurred. Please try later.'));
                 }
                 $this->redirect(array('/userGroups/'));
             }
         }
         $formmodel->validate();
     }
     $this->render('passRequest', array('model' => $formmodel));
 }
Пример #3
0
 /**
  * form for new pass request
  */
 public function actionPassRequest()
 {
     $formmodel = new UserGroupsUser('passRequest');
     if (isset($_POST['UserGroupsUser'])) {
         $formmodel->attributes = $_POST['UserGroupsUser'];
         $attr = 'username';
         $val = $formmodel->username;
         if (!$formmodel->username) {
             $attr = 'email';
             $val = $formmodel->email;
         }
         if (!$formmodel->email) {
             $attr = 'username';
             $val = $formmodel->username;
         }
         if ($formmodel->username || $formmodel->email) {
             $model = UserGroupsUser::model()->findByAttributes(array($attr => $val));
             if ($model) {
                 if ($model->xml_id && $model->external_auth_id) {
                     $mail = new UGMail($model, UGMail::PASS_RESET_ERROR);
                     $mail->send();
                     Yii::app()->user->setFlash('success', 'Невозможно поменять пароль т.к. Вы авторизировались с помощью ' . $model->external_auth_id);
                 } else {
                     $flash = '';
                     $model->scenario = 'passRequest';
                     if ($model->save()) {
                         $mail = new UGMail($model, UGMail::PASS_RESET);
                         $mail->send();
                         $flash = Yii::t('UserGroupsModule.general', 'An email containing the instructions to reset your password has been sent to your email address: {email}');
                     } else {
                         //print_r ($model->errors); die();
                         $flash = Yii::t('userGroupsModule.general', 'An Error Occurred. Please try later.');
                     }
                     Yii::app()->user->logout();
                     $cookies = Yii::app()->request->cookies;
                     $cookies->add('success', new CHttpCookie('success', $flash));
                 }
                 $this->redirect(array('/userGroups/user/login/'));
             }
         }
         $formmodel->validate();
     }
     $this->render('passRequest', array('model' => $formmodel));
 }
 /**
  * form for new pass request
  */
 public function actionPassRequest()
 {
     $model = new UserGroupsUser('passRequest');
     if (isset($_POST['UserGroupsUser'])) {
         $model->attributes = $_POST['UserGroupsUser'];
         if ($model->validate()) {
             $model = UserGroupsUser::model()->findByAttributes(array('username' => $_POST['UserGroupsUser']['username']));
             $model->scenario = 'passRequest';
             if ($model->save()) {
                 $mail = new UGMail($model, UGMail::PASS_RESET);
                 $mail->send();
             } else {
                 Yii::app()->user->setFlash('success', Yii::t('userGroupsModule.general', 'An Error Occurred. Please try later.'));
             }
             $this->redirect(Yii::app()->baseUrl . '/userGroups');
         }
     }
     $this->render('passRequest', array('model' => $model));
 }