Example #1
0
 public function actionChange()
 {
     $model = new RangoPersonas();
     $listaCambios = '';
     if ($model->load(Yii::$app->request->post()) && $model->validate()) {
         // Comienza Transaccion
         $transaction = Yii::$app->db->beginTransaction();
         try {
             $c = Accesos::updateAll(['id_persona' => $model->idPersonaHasta], ['id_persona' => $model->idPersonaDesde]);
             if ($c > 0) {
                 $listaCambios .= '<p><i>Accesos:</i> cantidad de cambios realizados -> ' . $c . '</p>';
             }
             $c = AccesosAutorizantes::updateAll(['id_persona' => $model->idPersonaHasta], ['id_persona' => $model->idPersonaDesde]);
             if ($c > 0) {
                 $listaCambios .= '<p><i>Accesos (autorizantes):</i> cantidad de cambios realizados -> ' . $c . '</p>';
             }
             $c = Autorizantes::updateAll(['id_persona' => $model->idPersonaHasta], ['id_persona' => $model->idPersonaDesde]);
             if ($c > 0) {
                 $listaCambios .= '<p><i>Autorizantes:</i> cantidad de cambios realizados -> ' . $c . '</p>';
             }
             $c = Llaves::updateAll(['id_persona' => $model->idPersonaHasta], ['id_persona' => $model->idPersonaDesde]);
             if ($c > 0) {
                 $listaCambios .= '<p><i>Llaves (personas):</i> cantidad de cambios realizados -> ' . $c . '</p>';
             }
             $c = Llaves::updateAll(['id_autorizante' => $model->idPersonaHasta], ['id_persona' => $model->idPersonaDesde]);
             if ($c > 0) {
                 $listaCambios .= '<p><i>Llaves (autorizantes):</i> cantidad de cambios realizados -> ' . $c . '</p>';
             }
             $c = Mensajes::updateAll(['model_id' => $model->idPersonaHasta], ['model_id' => $model->idPersonaDesde, 'model' => 'frontend\\models\\Personas']);
             if ($c > 0) {
                 $listaCambios .= '<p><i>Mensajes:</i> cantidad de cambios realizados -> ' . $c . '</p>';
             }
             $c = UfTitularidadPersonas::updateAll(['id_persona' => $model->idPersonaHasta], ['id_persona' => $model->idPersonaDesde]);
             if ($c > 0) {
                 $listaCambios .= '<p><i>Titularidad:</i> cantidad de cambios realizados -> ' . $c . '</p>';
             }
             if ($listaCambios == '') {
                 $listaCambios = '<p>No se ha realizado ningún cambio. Controle los IDs de personas utilizados.</p>';
             }
             $transaction->commit();
         } catch (\Exception $e) {
             $transaction->rollBack();
             Yii::$app->session->addFlash('danger', 'Hubo un error en la grabación');
             throw $e;
         }
         // try..catch
     }
     return $this->render('change', ['model' => $model, 'listaCambios' => $listaCambios]);
 }
Example #2
0
 /**
  * @return \yii\db\ActiveQuery
  */
 public function getLlaves()
 {
     return $this->hasMany(Llaves::className(), ['id_autorizante' => 'id']);
 }