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