public function actionRegUsu() { $this->layout = '//layouts/main'; if (Yii::app()->request->getPost('FormReg') != null) { $FormReg = Yii::app()->request->getPost('FormReg'); $modelUser = new ModelUser(); $criteria = new CDbCriteria(); $modelUser->attributes = $FormReg; $criteria->addCondition('dni_user = :dni'); $params['dni'] = $modelUser->dni_user; $criteria->params = $params; $total = ModelUser::model()->count($criteria); if ($total > 0) { $this->render('registro', array('msg' => 'DNI ya registrado')); } else { $modelUser->id_user = ModelKey::getKeyid($modelUser->nombre_user, $modelUser->dni_user); $apellido = strtolower(str_replace(' ', '', Utils::verifyUTF($modelUser->apellido_padre_user))); $nombre = strtolower(substr(Utils::verifyUTF($modelUser->nombre_user), 0, 1)); $login = $nombre . $apellido; $modelLogin = new ModelLogin(); $modelLogin->clave_login = ModelKey::getPassworrd($modelUser->dni_user); $modelLogin->id_login = $modelUser->id_user; $modelLogin->name_login = $login; $transaction = Yii::app()->db->beginTransaction(); try { if (!$modelUser->save()) { throw new Exception("No se puede guardar el usuario"); } else { if (!$modelLogin->save()) { throw new Exception("No se puede guardar el login"); } else { if ($FormReg['key_proyecto'] != 1) { $modelProyecto = new ModelProyectos(); Utils::show($modelProyecto, true); } } } $transaction->commit(); $this->redirect(Yii::app()->controller->createUrl("{$this->id}/login")); } catch (Exception $exc) { $transaction->rollBack(); $msg = $exc->getMessage(); $this->render('registro', array('msg' => $msg)); } } } else { $this->render('registro'); } }