/**
  * Creates a new UfTitularidadPersonas model.
  * If creation is successful, the browser will be redirected to the 'view' page.
  * @return mixed
  */
 public function actionCreate()
 {
     $model = new UfTitularidadPersonas();
     if ($model->load(Yii::$app->request->post()) && $model->save()) {
         return $this->redirect(['view', 'id' => $model->id]);
     } else {
         return $this->render('create', ['model' => $model]);
     }
 }
Ejemplo n.º 2
0
 public function actionFinCesion($uf, $id)
 {
     $model = new UfTitularidad();
     $model->id_uf = $uf;
     $model->tipo_movim = 10;
     $movActual = UfTitularidad::findOne($id);
     $titPers = UfTitularidadPersonas::find()->where(['uf_titularidad_id' => $id])->all();
     $transaction = Yii::$app->db->beginTransaction();
     try {
         $movActual->ultima = false;
         $movActual->save(false);
         $model->fec_desde = $movActual->fec_hasta;
         //$model->fec_hasta=$model->fec_desde;
         $model->fec_hasta = null;
         $model->exp_telefono = $movActual->exp_telefono;
         $model->exp_direccion = $movActual->exp_direccion;
         $model->exp_localidad = $movActual->exp_localidad;
         $model->exp_email = $movActual->exp_email;
         $model->ultima = true;
         $model->save(false);
         // elimina todos los autorizantes actuales de la unidad para reemplazarlos con los nuevos
         Autorizantes::deleteAll(['id_uf' => $model->id_uf]);
         $aut = new Autorizantes();
         $aut->id_uf = $model->id_uf;
         // recorre todos los titulares y solo procesa los cedentes como nuevos titulares
         foreach ($titPers as $tp) {
             if ($tp->tipo == UfTitularidadPersonas::TIPO_CED) {
                 $titp = new UfTitularidadPersonas();
                 $titp->uf_titularidad_id = $model->id;
                 $titp->tipo = UfTitularidadPersonas::TIPO_TIT;
                 $titp->id_persona = $tp->id_persona;
                 $titp->observaciones = $tp->observaciones;
                 $titp->save(false);
                 $aut->id = null;
                 $aut->isNewRecord = true;
                 $aut->id_persona = $titp->id_persona;
                 $aut->save(false);
             }
         }
         $transaction->commit();
         \Yii::$app->session->addFlash('success', 'Movimiento grabado correctamente');
         // limpia todo
         \Yii::$app->session->remove('titpersonas');
         //return $this->redirect(['view', 'id' => $model->id]);
     } catch (\Exception $e) {
         $transaction->rollBack();
         Yii::$app->session->addFlash('danger', 'Hubo un error en la grabación');
         throw $e;
     }
     // try..catch
     return $this->redirect(['view', 'id' => $model->id]);
 }