Пример #1
0
 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;
     }
 }
Пример #2
0
 /**
  * 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;
 }
Пример #3
0
 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]);
 }
Пример #4
0
        <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>