public function actionTitularidad($id_uf) { $UfModel = Uf::findOne($id_uf); if (!empty($UfModel->ultUfTitularidad->id)) { $query = UfTitularidadPersonas::find()->joinWith('persona')->where(['uf_titularidad_id' => $UfModel->ultUfTitularidad->id]); $dataProvider = new ActiveDataProvider(['query' => $query, 'sort' => ['defaultOrder' => ['tipo' => SORT_DESC], 'enableMultiSort' => true]]); $response = GridView::widget(['dataProvider' => $dataProvider, 'condensed' => true, 'layout' => '{items}', 'panel' => ['type' => GridView::TYPE_INFO, 'heading' => 'Titularidad actual sobre U.F.' . $id_uf, 'footer' => false, 'before' => false, 'after' => false], 'panelHeadingTemplate' => '{heading}', 'resizableColumns' => false, 'columns' => [['attribute' => 'tipo', 'value' => function ($model) { return UfTitularidadPersonas::getTipos($model->tipo); }], 'id_persona', 'persona.apellido', 'persona.nombre', 'persona.nombre2', 'persona.tipoDoc.desc_tipo_doc_abr', 'persona.nro_doc']]); } else { $response = ''; } \Yii::$app->response->format = 'json'; return $response; }
/** * Creates data provider instance with search query applied * * @param array $params * * @return ActiveDataProvider */ public function search($params) { $query = UfTitularidadPersonas::find(); // add conditions that should always apply here $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; } // grid filtering conditions $query->andFilterWhere(['id' => $this->id, 'uf_titularidad_id' => $this->uf_titularidad_id, 'id_persona' => $this->id_persona, 'created_by' => $this->created_by, 'created_at' => $this->created_at, 'updated_by' => $this->updated_by, 'updated_at' => $this->updated_at]); $query->andFilterWhere(['like', 'tipo', $this->tipo])->andFilterWhere(['like', 'observaciones', $this->observaciones]); return $dataProvider; }
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]); }
.table-condensed > tbody > tr > th, .table-condensed > tfoot > tr > th, .table-condensed > thead > tr > td, .table-condensed > tbody > tr > td, .table-condensed > tfoot > tr > td { padding: 1px; } '); ?> <div class="uf-titularidad-form"> <?php $UfModel = Uf::findOne($model->id_uf); if (!empty($UfModel->ultUfTitularidad->id)) { $puedeCambiarTipoMovim = true; $query = UfTitularidadPersonas::find()->joinWith('persona')->where(['uf_titularidad_id' => $UfModel->ultUfTitularidad->id]); $dataProvider = new ActiveDataProvider(['query' => $query, 'sort' => ['defaultOrder' => ['tipo' => SORT_DESC], 'enableMultiSort' => true]]); $xDefecto = UfTitularidad::findOne($UfModel->ultUfTitularidad->id); $model->exp_telefono = $xDefecto->exp_telefono; $model->exp_direccion = $xDefecto->exp_direccion; $model->exp_localidad = $xDefecto->exp_localidad; $model->exp_email = $xDefecto->exp_email; echo GridView::widget(['dataProvider' => $dataProvider, 'condensed' => true, 'layout' => '{items}', 'panel' => ['type' => GridView::TYPE_INFO, 'heading' => 'Titularidad actual sobre U.F.' . $model->id_uf, 'footer' => false, 'before' => false, 'after' => false], 'panelHeadingTemplate' => '{heading}', 'resizableColumns' => false, 'columns' => [['attribute' => 'tipo', 'value' => function ($model) { return UfTitularidadPersonas::getTipos($model->tipo); }], 'id_persona', 'persona.apellido', 'persona.nombre', 'persona.nombre2', 'persona.tipoDoc.desc_tipo_doc_abr', 'persona.nro_doc', 'observaciones']]); } else { $puedeCambiarTipoMovim = false; } ?> <?php