/** * Creates data provider instance with search query applied * * @param array $params * * @return ActiveDataProvider */ public function search($params) { $query = AccionCentralizada::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(['id' => $this->id]); $query->andFilterWhere(['like', 'codigo_accion', $this->codigo_accion])->andFilterWhere(['like', 'codigo_accion_sne', $this->codigo_accion_sne])->andFilterWhere(['like', 'fecha_inicio', $this->fecha_inicio])->andFilterWhere(['like', 'fecha_fin', $this->fecha_fin])->andFilterWhere(['like', 'estatus', $this->estatus])->andFilterWhere(['like', 'nombre_accion', $this->nombre_accion]); return $dataProvider; }
/** * Updates an existing ProyectoAsignar model. * For ajax request will return json object * and for non-ajax request if update is successful, the browser will be redirected to the 'view' page. * @param integer $id * @return mixed */ public function actionUpdate($id) { $request = Yii::$app->request; $model = $this->findModel($id); if (!($model_ue_acc = AcEspUej::find()->where(['id' => $model->accion_especifica_ue])->One())) { $model_ue_acc = new AcEspUej(); } //Listas desplegables $accion_especifica = AcAcEspec::find()->where(['id' => $model_ue_acc->id_ac_esp])->all(); $i = 0; foreach ($accion_especifica as $row) { $acciones[$i] = $row->id; $i++; } $ue = UnidadEjecutora::find(['estatus' => 1])->select(["unidad_ejecutora.id as id", "unidad_ejecutora.nombre as nombre"])->innerjoin('accion_centralizada_ac_especifica_uej', 'accion_centralizada_ac_especifica_uej.id_ue=unidad_ejecutora.id')->andWhere(['accion_centralizada_ac_especifica_uej.id_ac_esp' => $acciones])->asArray()->all(); $accion_centralizada = AccionCentralizada::find()->all(); $accion_especifica = AcAcEspec::find()->where(['id_ac_centr' => $model_ue_acc->idAcEsp->idAcCentr->id])->all(); if ($request->isAjax) { /* * Process for ajax request */ Yii::$app->response->format = Response::FORMAT_JSON; if ($request->isGet) { return ['title' => "Asignar", 'content' => $this->renderAjax('update', ['model' => $model, 'ue' => $ue, 'accion_centralizada' => $accion_centralizada, 'accion_especifica' => $accion_especifica]), 'footer' => Html::button('Cerrar', ['class' => 'btn btn-default pull-left', 'data-dismiss' => "modal"]) . Html::button('Guardar', ['class' => 'btn btn-primary', 'type' => "submit"])]; } else { if ($model->load($request->post()) && $model->save()) { return ['forceReload' => 'true', 'title' => "Asignado", 'content' => $this->renderPartial('view', ['model' => $this->findModel($id), 'ue' => $ue, 'accion_centralizada' => $accion_centralizada, 'accion_especifica' => $accion_especifica]), 'footer' => Html::button('Cerrar', ['class' => 'btn btn-default pull-left', 'data-dismiss' => "modal"]) . Html::a('Editar', ['update', 'id' => $id], ['class' => 'btn btn-primary', 'role' => 'modal-remote'])]; } else { //print_r($model->getErrors()); exit(); return ['title' => "Asignar", 'content' => $this->renderAjax('update', ['model' => $model, 'ue' => $ue, 'accion_centralizada' => $accion_centralizada, 'accion_especifica' => $accion_especifica]), 'footer' => Html::button('Cerrar', ['class' => 'btn btn-default pull-left', 'data-dismiss' => "modal"]) . Html::button('Guardar', ['class' => 'btn btn-primary', 'type' => "submit"])]; } } } else { /* * Process for non-ajax request */ if ($model->load($request->post()) && $model->save()) { return $this->redirect(['view', 'id' => $model->id]); } else { return $this->render('update', ['model' => $model, 'ue' => $ue]); } } }
/** * @return \yii\db\ActiveQuery */ public function getIdAcCentr() { return $this->hasOne(AccionCentralizada::className(), ['id' => 'id_ac_centr']); }
/** * Updates an existing AccionCentralizadaVariables model. * If update is successful, the browser will be redirected to the 'view' page. * @param integer $id * @return mixed */ public function actionUpdate($id) { $precarga = ""; $precarga1 = ""; $model = $this->findModel($id); $accion_centralizada = AccionCentralizada::find(['estatus' => 1])->all(); $accion_especifica = AcAcEspec::find()->where(['id' => $model->acc_accion_especifica, 'estatus' => 1])->all(); $ue = UnidadEjecutora::find(['estatus' => 1])->select(["unidad_ejecutora.id as id", "unidad_ejecutora.nombre as name"])->where(['id' => $model->unidad_ejecutora])->asArray()->all(); $verificar = UserAccounts::find()->select(["user_accounts.id as id", "user_accounts.username as username"])->innerjoin('accion_centralizada_variables_usuarios', 'user_accounts.id=accion_centralizada_variables_usuarios.id_usuario')->where(['accion_centralizada_variables_usuarios.id_variable' => $model->id])->andWhere(['accion_centralizada_variables_usuarios.estatus' => 1])->asArray()->all(); $i = 0; foreach ($verificar as $key) { $precarga[$i] = $key['id']; $precarga1[$i] = $key['username']; $i++; } $acciones_especificas = [$model->accAccionEspecifica->id => $model->accAccionEspecifica->cod_ac_espe . " - " . $model->accAccionEspecifica->nombre]; $connection = \Yii::$app->db; $transaction = $connection->beginTransaction(); if ($model->load(Yii::$app->request->post()) && $model->save()) { $usuarios = Yii::$app->request->post('id_usuario'); $salvar = $model->uejecutoras($usuarios); $transaction->commit(); return $this->redirect(['accion-centralizada-variables/view', 'id' => $model->id]); } else { return $this->render('update', ['model' => $model, 'precarga' => $precarga, 'precarga1' => $precarga1, 'accion_centralizada' => $accion_centralizada, 'accion_especifica' => $accion_especifica, 'ue' => $ue]); } }
public function actionRevertir($id) { // buscamos los modelos $post1 = AuditTrail::findOne($id); $post = AccionCentralizada::findOne($post1->model_id); //si esta vacio el modelo es por que fue borrado if ($post != null) { //buscamos la ultima version $attributes = Version::lastVersion($post->className(), $post->id); //cargamos los datos de la ultima version $post = Version::find($post->className(), $post->id, $attributes); //solo para el caso de modelos que tenga fecha, formatear la fecha $post->fecha_inicio = date_create($post->fecha_inicio); $post->fecha_fin = date_create($post->fecha_fin); $post->fecha_inicio = date_format($post->fecha_inicio, 'd/m/Y'); $post->fecha_fin = date_format($post->fecha_fin, 'd/m/Y'); } else { //en que caso que fue borrado se busca la ultima version por medio del id almacenado en el modelo trail $attributes = Version::lastVersion(AccionCentralizada::className(), $post1->model_id); //cargamos los datos $post = Version::find(AccionCentralizada::className(), $post1->model_id, $attributes); //solo en caso de modelos q tengan fecha $post->fecha_inicio = date_create($post->fecha_inicio); $post->fecha_fin = date_create($post->fecha_fin); $post->fecha_inicio = date_format($post->fecha_inicio, 'Y-m-d'); $post->fecha_fin = date_format($post->fecha_fin, 'Y-m-d'); } //se almacena y redirecciona. if ($post->save()) { return $this->redirect('index.php?r=audit/trail'); } else { //print_r($post->getErrors()); return $this->redirect('index.php?r=audit/trail'); } }
/** * Importar modelos. * @return mixed */ public function actionImportar() { $request = Yii::$app->request; $modelo = new UploadForm(); if ($request->isPost) { $archivo = file($_FILES['UploadForm']['tmp_name']['importFile']); $mensaje = ""; $transaccion = AccionCentralizada::getDb()->beginTransaction(); try { foreach ($archivo as $llave => $valor) { $exploded = explode(';', str_replace("'", '', $valor)); $ue = AccionCentralizada::find()->where(['codigo_accion' => $exploded[0]])->orwhere(['codigo_accion_sne' => $exploded[1]])->one(); if ($ue == null) { $ue = new AccionCentralizada(); } else { $mensaje = "Accion Ya Existe: Codigo Accion:" . $exploded[0] . " SNE:" . $exploded[1]; $ue = ""; } if (!preg_match('/^\\d{1,2}\\/\\d{1,2}\\/\\d{4}$/', trim($exploded[3])) || !preg_match('/^\\d{1,2}\\/\\d{1,2}\\/\\d{4}$/', trim($exploded[4]))) { $mensaje = "El Formato De Fecha Debe Ser 'dd/mm/yyyy' "; unset($ue); } //guardando a mysql $date = explode('/', $exploded[3]); $exploded[3] = $date[2] . "/" . $date[1] . "/" . $date[0]; if (!checkdate((int) $date[1], (int) $date[0], (int) rtrim($date[2]))) { $mensaje = "Fecha No Valida, Verifique Fecha"; unset($ue); } $date_fin = explode('/', $exploded[4]); if (!checkdate((int) $date_fin[1], (int) $date_fin[0], (int) rtrim($date_fin[2]))) { $mensaje = "Fecha No Valida, Verifique Fecha"; unset($ue); } $exploded[4] = rtrim($date_fin[2]) . "/" . $date_fin[1] . "/" . $date_fin[0]; //validar que inicio sea menor a fin $fecha1 = new \DateTime($exploded[3]); $fecha2 = new \DateTime($exploded[4]); if ($fecha1 > $fecha2) { $mensaje = "Fecha Inicio Debe Ser Menor A Fecha Fin"; unset($ue); } // fin validar fechas //fin de guardar a mysql $ue->codigo_accion = $exploded[0]; $ue->codigo_accion_sne = $exploded[1]; $ue->nombre_accion = $exploded[2]; $ue->fecha_inicio = $exploded[3]; $ue->fecha_fin = $exploded[4]; $ue->estatus = 0; $ue->save(false); // print_r($ue->getErrors()); exit(); } $transaccion->commit(); Yii::$app->session->setFlash('importado', '<div class="alert alert-success">Registros importados exitosamente.</div>'); return $this->refresh(); } catch (\Exception $e) { $transaccion->rollBack(); Yii::$app->session->setFlash('importado', '<div class="alert alert-danger">' . $mensaje . '</div>'); } } return $this->render('importar', ['modelo' => $modelo]); }