/**
  * 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]);
         }
     }
 }
Exemple #3
0
 /**
  * @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]);
 }