public function login() { if ($this->validate()) { $dbUsuario = Usuario::find()->where('nombre = :user', [':user' => $this->usuario])->one(); if (count($dbUsuario) <= 0) { $this->addError('usuario', 'El usuario ingresado no existe'); return false; } else { //->innerJoinWith('codPersona',false) $dbPersona = Persona::find()->where('nombre_usuario = :user', [':user' => $this->usuario])->andWhere('estado = :estado', [':estado' => 'Activo'])->one(); if (count($dbPersona) <= 0) { //Esto me quiere decir que el usuario existe, pero o no esta asociado a ningun empleado o su estado es diferente de activo $this->addError('usuario', 'El usuario ingresado no está asociado con ninguna persona o se encuentra inactivo'); return false; } else { if (hash('sha512', $this->password . $dbUsuario->salt) === $dbUsuario->contrasenya) { $nombrePersona = $dbUsuario->persona->nombre . ' ' . $dbUsuario->persona->apellido; Yii::$app->session->setFlash('success', '¡Bienvenid@! ' . $nombrePersona); return Yii::$app->user->login($this->getUser(), $this->rememberMe ? 3600 * 24 * 30 : 0); } else { $this->addError('password', 'La contraseña ingresada es errónea'); return false; } } } } else { return false; } }
/** * Creates data provider instance with search query applied * * @param array $params * * @return ActiveDataProvider */ public function search($params) { $query = Persona::find(); $dataProvider = new ActiveDataProvider(['query' => $query]); $this->load($params); if (!$this->validate()) { // uncomment the following line if you do not want to return any records when validation fails // $query->where('0=1'); return $dataProvider; } $query->andFilterWhere(['codigo' => $this->codigo, 'fecha_nacimiento' => $this->fecha_nacimiento, 'cod_municipio' => $this->cod_municipio, 'cod_nacionalidad' => $this->cod_nacionalidad, 'cod_estado_civil' => $this->cod_estado_civil]); $query->andFilterWhere(['like', 'nombre', $this->nombre])->andFilterWhere(['like', 'apellido', $this->apellido])->andFilterWhere(['like', 'dui', $this->dui])->andFilterWhere(['like', 'nit', $this->nit])->andFilterWhere(['like', 'genero', $this->genero])->andFilterWhere(['like', 'direccion', $this->direccion])->andFilterWhere(['like', 'profesion', $this->profesion])->andFilterWhere(['like', 'estado', $this->estado])->andFilterWhere(['like', 'nombre_usuario', $this->nombre_usuario])->andFilterWhere(['like', 'carnet_minoridad', $this->carnet_minoridad]); return $dataProvider; }
public function actionMatrimonio() { $model = new Matrimonio(); $partidaModelo = new Partida(); $dbCon = new Persona(); $conexion = \Yii::$app->db; $transaccion = $conexion->beginTransaction(); if ($model->load(Yii::$app->request->post()) && $partidaModelo->load(Yii::$app->request->post())) { require_once '../auxiliar/Auxiliar.php'; $model->cod_partida = 0; if ($model->apellido_casada == '') { $model->apellido_casada = null; } $partidaModelo->cod_empleado = Yii::$app->user->identity->persona->codEmpleado->codigo; $partidaModelo->lugar_suceso = 'Ilopango'; $partidaModelo->cod_municipio = 151; $partidaModelo->tipo = 'Matrimonio'; $indicador = 'del notario'; if ($_POST['gen_notario'] == 'Femenino') { $indicador = 'de la notaria'; } $model->notario = $indicador . ' ' . $model->notario; $model->est_civ_h = Persona::find()->where('codigo = ' . $_POST['MatrimonioPersona']['cod_conhom'])->one()->cod_estado_civil; $model->est_civ_m = Persona::find()->where('codigo = ' . $_POST['MatrimonioPersona']['cod_conmuj'])->one()->cod_estado_civil; $codlibro = Libro::find()->select('codigo')->where("tipo = 'Matrimonio'")->andWhere("anyo = :an", [':an' => date('Y')])->andWhere('numero = :valor', [':valor' => $_POST['Partida']['num_libro']])->one()->codigo; $partidaModelo->cod_libro = $codlibro; if ($partidaModelo->validate() && $model->validate()) { try { $partidaModelo->fecha_emision = fechaMySQL($partidaModelo->fecha_emision); $partidaModelo->fecha_suceso = fechaMySQL($partidaModelo->fecha_suceso); $partidaModelo->hora_suceso = horaMySQL($partidaModelo->hora_suceso); if ($partidaModelo->save()) { //Recupero el valor de id con el cual se inserto $ulid = $conexion->getLastInsertID(); $model->cod_partida = $ulid; //Guardo el registro de matrimonio if ($model->save()) { //Recupero el id de matrimonio para luego insertar en matrimonio_persona $ulid = $conexion->getLastInsertID(); //Para MatrimonioPersona $modelMph = new MatrimonioPersona(); $modelMpm = new MatrimonioPersona(); $modelMph->cod_matrimonio = $ulid; $modelMpm->cod_matrimonio = $ulid; //Para el contrayente $modelMph->cod_persona = $_POST['MatrimonioPersona']['cod_conhom']; if (!$modelMph->save()) { throw new UserException('No se pudo guardar el contrayente, intente nuevamente'); } //Se actualiza el estado civil del contrayente $dbCon = Persona::find()->where('codigo = ' . $modelMph->cod_persona)->one(); $dbCon->cod_estado_civil = 2; if (!$dbCon->save()) { throw new UserException('No se pudo actualizar el estado civil del contrayente, intente nuevamente'); } //Para la contrayente $modelMpm->cod_persona = $_POST['MatrimonioPersona']['cod_conmuj']; if (!$modelMpm->save()) { throw new UserException('No se pudo guardar la contrayente, intente nuevamente'); } //Se actualiza el estado civil de la contrayente $dbCon = Persona::find()->where('codigo = ' . $modelMpm->cod_persona)->one(); $dbCon->cod_estado_civil = 2; //Debo guardar el apellido de casada? if ($_POST['Matrimonio']['apellido_casada'] != '') { $dbCon->apellido_casada = strtok($dbCon->apellido, " ") . ' ' . $_POST['Matrimonio']['apellido_casada']; } if (!$dbCon->save()) { throw new UserException('No se pudo actualizar el estado civil de la contrayente, intente nuevamente'); } } else { // print_r($model->getErrors()); // exit; throw new UserException('No se pudo guardar el registro de matrimonio, intente nuevamente'); } //Actualizar el folio actual del libro if ($conexion->createCommand("update libro set folio_actual = folio_actual + 1 where codigo = " . $codlibro)->execute() <= 0) { throw new UserException('No se pudo actualizar el libro de partidas, intente nuevamente'); } $transaccion->commit(); Yii::$app->session->setFlash('success', 'Partida guardada con éxito'); return $this->redirect(['matrimonio']); } else { throw new UserException('No se pudo guardar el registro de partida, intente nuevamente'); } return; } catch (UserException $err) { $transaccion->rollback(); Yii::$app->session->setFlash('error', $err->getMessage()); return $this->redirect(['matrimonio']); } } else { Yii::$app->session->setFlash('error', 'El modelo no cumple con la validación'); } } return $this->render('rmatrimonio', ['model' => $model, 'partida' => $partidaModelo]); }
<div class="form-group"> <?php echo Html::textInput('fmadre', '', array('id' => 'nrwr', 'class' => 'form-control')); ?> <span id="matches" style="display:none"></span> </div> <button type="button" class="btn btn-primary" id="edit-madre"> <i class="glyphicon glyphicon-edit"></i> </button> <button type="button" class="btn btn-primary" id="reload-madre"> <i class="glyphicon glyphicon-refresh"></i> </button> </span> <span style="order: 3; flex-grow: 1; margin-right:10px;"> <?php echo $form->field($model, 'cod_padre')->dropDownList(ArrayHelper::map(Persona::find()->where('genero = "Masculino"')->andWhere('estado = "Activo"')->andWhere('calcularEdad(persona.codigo) > 14')->orderBy(['nombre' => SORT_ASC])->all(), 'codigo', function ($model, $defaultValue) { return $model->nombre . ' ' . $model->apellido; }), ['prompt' => 'Ninguno']); ?> <div class="form-group"> <?php echo Html::textInput('fpadre', '', array('id' => 'nrwr2', 'class' => 'form-control')); ?> <span id="matches2" style="display:none"></span> </div> <button type="button" class="btn btn-primary" id="edit-padre"> <i class="glyphicon glyphicon-edit"></i> </button> <button type="button" class="btn btn-primary" id="reload-padre"> <i class="glyphicon glyphicon-refresh"></i> </button>