Example #1
0
 /**
  * testing method return array type
  */
 public function testTypeFunction()
 {
     $model = new User();
     $model->login = "******";
     $model->password = "******";
     $model->profil = "clinicien";
     $model->nom = "testNom";
     $model->prenom = "testPrénom";
     $model->email = "*****@*****.**";
     $model->telephone = "0123456789";
     $model->address = "5 rue Marat";
     $model->centre = "Paris";
     $criteria = new EMongoCriteria();
     $criteria->login = "******";
     $user = User::model()->find($criteria);
     $this->assertInternalType('object', $model->model());
     $this->assertInternalType('array', $model->rules());
     $this->assertInternalType('array', $model->attributeLabels());
     $this->assertInternalType('array', $model->getAllUsersLastnames());
     $this->assertInternalType('array', $model->getAllUsersFirstnames());
     $this->assertInternalType('array', $model->getAllUsersLogin());
     $this->assertInternalType('array', $model->getAllUsersEmail());
     $this->assertInternalType('array', $model->getAllUsersByLogin($model));
     $model->profil = "clinicien";
     $this->assertInternalType('string', $model->getProfil());
     $model->profil = "";
     $this->assertInternalType('string', $model->getProfil());
     $this->assertInternalType('array', $model->getArrayProfil());
     $this->assertInternalType('object', $model->getArrayProfilSorted());
     $this->assertInternalType('array', $model->getArrayProfilFiltered());
     $this->assertInternalType('array', $model->getArrayAvailableProfil($user->_id));
     $this->assertInternalType('array', $model->getArrayCentre());
     $this->assertNull($model->passwordValidator());
     $this->assertNull($model->telValidator());
     $this->assertNull($model->gsmValidator());
     $this->assertNull($model->alphaOnly());
     $this->assertNull($model->alphaNumericOnly());
     $this->assertNull($model->addressValidator());
     $this->assertNull($model->centreValidator());
     $model->profil = array();
     $model->profil[] = "administrateur";
     $this->assertInternalType('string', $model->getDefaultProfil());
     $model->profil = array();
     $model->profil[] = "neuropathologiste";
     $this->assertInternalType('string', $model->getDefaultProfil());
     $model->profil = array();
     $model->profil[] = "geneticien";
     $this->assertInternalType('string', $model->getDefaultProfil());
     $model->profil = array();
     $model->profil[] = "clinicien";
     $this->assertInternalType('string', $model->getDefaultProfil());
     $model->profil = array();
     $model->profil[] = "chercheur";
     $this->assertInternalType('string', $model->getDefaultProfil());
 }
 /**
  * action to subscribe a new user account.
  */
 public function actionSubscribe()
 {
     $model = new User();
     $model->setScenario('subscribe');
     if (isset($_POST['User'])) {
         $model->attributes = $_POST['User'];
         $model->telephone = str_replace(" ", "", $model->telephone);
         $profil = implode("", $model->profil);
         $userLogin = $model->getAllUsersByLogin($model);
         if (count($userLogin) > 0) {
             Yii::app()->user->setFlash('error', Yii::t('common', 'loginExist'));
         } else {
             if ($model->profil == array("clinicien")) {
                 if ($model->save()) {
                     CommonMailer::sendSubscribeAdminMail($model, NULL);
                     CommonMailer::sendMailInscriptionUser($model->email, $model->login, $model->prenom, $model->nom, $model->password, NULL);
                     Yii::app()->user->setFlash('success', Yii::t('common', 'welcomeTo') . Yii::app()->name);
                     $this->redirect(array('site/index'));
                 }
             }
             if ($profil == "neuropathologiste") {
                 if ($model->validate()) {
                     if (empty($_POST['User']['centre'])) {
                         $model->addError('centre', Yii::t('common', 'referenceCenterRequired'));
                     } else {
                         if ($model->save()) {
                             CommonMailer::sendSubscribeUserMail($model, $profil);
                             CommonMailer::sendMailConfirmationProfilEmail($model, $profil, $_POST['User']['centre']);
                             Yii::app()->user->setFlash('success', Yii::t('common', 'success_register'));
                             $this->redirect(array('site/login'));
                         }
                     }
                 }
             }
             if ($profil == "geneticien" || $profil == "chercheur") {
                 if ($model->save()) {
                     CommonMailer::sendSubscribeUserMail($model, $profil);
                     CommonMailer::sendMailConfirmationProfilEmail($model, $profil, NULL);
                     Yii::app()->user->setFlash('success', Yii::t('common', 'success_register'));
                     $this->redirect(array('site/login'));
                 }
             }
             Yii::app()->user->setFlash('error', Yii::t('common', 'userNotSaved'));
         }
     }
     $this->render('subscribe', array('model' => $model));
 }