/** * 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)); }