예제 #1
0
 private function onNewUser(ICrugeStoredUser $model, $newPwd = "")
 {
     Yii::log(__METHOD__ . "\n", "info");
     $opt = Yii::app()->user->um->getDefaultSystem()->getn("registerusingactivation");
     $role = Yii::app()->user->um->getDefaultSystem()->get("defaultroleforregistration");
     Yii::log(__METHOD__ . "\n role: " . $role, "info");
     if (Yii::app()->user->rbac->getAuthItem($role) != null) {
         Yii::log(__METHOD__ . "\n asignando role: " . $role . " a userid:" . $model->getPrimaryKey(), "info");
         Yii::app()->user->rbac->assign($role, $model->getPrimaryKey());
     }
     if ($opt == CRUGE_ACTIVATION_OPTION_INMEDIATE) {
         // lo activa inmediatamente y le manda la clave al usuario
         $model->state = CRUGEUSERSTATE_ACTIVATED;
         Yii::app()->user->um->save($model);
         Yii::app()->crugemailer->sendPasswordTo($model, $newPwd);
     }
     if ($opt == CRUGE_ACTIVATION_OPTION_EMAIL) {
         // queda en estado no activado, pero envia un email para que
         // el usuario lo active
         Yii::app()->crugemailer->sendRegistrationEmail($model, $newPwd);
     }
     if ($opt == CRUGE_ACTIVATION_OPTION_MANUAL) {
         // lo activa manualmente, envia un email de espera por activacion manual
         Yii::app()->crugemailer->sendWaitForActivation($model, $newPwd);
     }
 }
예제 #2
0
 public function getICrugeFieldValue(ICrugeStoredUser $user, ICrugeField $field)
 {
     $model = CrugeFieldValue::loadModelBy($user->getPrimaryKey(), $field->getPrimaryKey());
     if ($model == null) {
         // lo crea
         $model = new CrugeFieldValue();
         $model->iduser = $user->getPrimaryKey();
         $model->idfield = $field->getPrimaryKey();
         $model->value = "";
         if ($model->save()) {
             return $model;
         } else {
             Yii::log("error creando un nuevo CrugeFieldValue:\n" . "iduser: {$user->getPrimaryKey()}\n" . "idfield: {$field->getPrimaryKey()}\n" . "fieldvalue: {$field->getFieldValue()}\n" . "errorSummary:\n " . CHtml::errorSummary($model) . "\n", "error");
             return null;
         }
     }
     return $model;
 }
예제 #3
0
 /**
     limpia los campos personalizados.
 */
 public function clearUserFields(ICrugeStoredUser $user)
 {
     $user->setFields(CrugeFactory::get()->getICrugeFieldListModels($user));
     foreach ($user->getFields() as $field) {
         $field->setFieldValue("");
     }
     return $user->getFields();
 }