/** * Creates a new Autorizantes model. * If creation is successful, the browser will be redirected to the 'view' page. * @return mixed */ public function actionCreate() { $model = new Autorizantes(); if ($model->load(Yii::$app->request->post()) && $model->save()) { return $this->redirect(['index']); } else { return $this->render('create', ['model' => $model]); } }
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]); }