/**
  * Creates a new AccionCentralizadaVariables model.
  * If creation is successful, the browser will be redirected to the 'view' page.
  * @return mixed
  */
 public function actionCreate()
 {
     $model = new AccionCentralizadaVariables();
     $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();
     $connection = \Yii::$app->db;
     $transaction = $connection->beginTransaction();
     try {
         if ($model->load(Yii::$app->request->post()) && $model->save()) {
             $model_usuarios = new AccionCentralizadaVariablesUsuarios();
             $model_usuarios->id_variable = $model->id;
             $usuarios = Yii::$app->request->post('id_usuario');
             $i = 0;
             while (count(Yii::$app->request->post('id_usuario')) != $i) {
                 //funcion en el modelo para guardar
                 if ($model_usuarios->usuarios_agregar($model->id, $usuarios[$i])) {
                     $i++;
                 } else {
                     $transaction->rollback();
                     $i = count($request->post('id_usuario'));
                 }
             }
             // termina el while
             $transaction->commit();
             return $this->redirect(['responsable-acc-variable/create', 'id_variable' => $model->id]);
         } else {
             return $this->render('create', ['model' => $model, 'accion_centralizada' => $accion_centralizada, 'accion_especifica' => $accion_especifica, 'ue' => $ue]);
         }
     } catch (\Exception $e) {
         $transaction->rollBack();
         throw $e;
     }
 }
 /**
  * operacion para agregar o eliminar los usuarios que vienen del combo select de variables
  * @param array $usuarios
  * @return Mixed
  */
 public function uejecutoras($usuarios)
 {
     //buscar si quitaron un usuario si es asi borrar la que quitaron
     if ($usuarios == null) {
         $usuarios = '';
     }
     $ace = AccionCentralizadaVariablesUsuarios::find()->select('accion_centralizada_variables_usuarios.id')->where(['accion_centralizada_variables_usuarios.id_variable' => $this->id])->andwhere(['accion_centralizada_variables_usuarios.estatus' => 1])->andwhere(['not in', 'accion_centralizada_variables_usuarios.id_usuario', $usuarios])->asArray()->all();
     if ($ace != null) {
         $model_cambiar = new AccionCentralizadaVariablesUsuarios();
         foreach ($ace as $key => $value) {
             $model_cambiar->usuario_eliminar($value);
         }
     }
     //buscar si agregaron un usuario si es asi almacenar las nuevos y guardar
     $ace = AccionCentralizadaVariablesUsuarios::find()->select('accion_centralizada_variables_usuarios.id_usuario')->where(['accion_centralizada_variables_usuarios.id_variable' => $this->id])->andwhere(['accion_centralizada_variables_usuarios.estatus' => 1])->andwhere(['in', 'accion_centralizada_variables_usuarios.id_usuario', $usuarios])->asArray()->all();
     $i = 0;
     $tabla[] = null;
     foreach ($ace as $key => $value) {
         $tabla[] = $value['id_usuario'];
     }
     //si viene vacio
     if ($usuarios == null) {
         $usuarios = [];
     }
     $nuevo = array_diff($usuarios, $tabla);
     foreach ($nuevo as $key => $value) {
         $model_variable_usuario = new AccionCentralizadaVariablesUsuarios();
         $model_variable_usuario->id_usuario = $value;
         $model_variable_usuario->id_variable = $this->id;
         $model_variable_usuario->save();
     }
 }
 /**
  * mostrar nombre de los usuarios asociados a las variables
  * @param int $id
  * @return string
  */
 public function obtener_usuario_variables($id)
 {
     $ue = "";
     $uej = AccionCentralizadaVariablesUsuarios::find()->select(['user_accounts.username as name'])->innerjoin('user_accounts', 'user_accounts.id=accion_centralizada_variables_usuarios.id_usuario')->where(['accion_centralizada_variables_usuarios.id_variable' => $id])->andwhere(['accion_centralizada_variables_usuarios.estatus' => 1])->asArray()->all();
     foreach ($uej as $key => $value) {
         $ue .= $value['name'] . ", ";
     }
     $ue = substr($ue, 0, -2);
     return $ue;
 }
Example #4
0
 /**
  * Determinar si posee variables activas
  * @return boolean
  */
 public function hasVariables()
 {
     $model = AccionCentralizadaVariablesUsuarios::find()->where(['id_usuario' => $this->Id])->andwhere(['estatus' => 1])->One();
     if ($model != null) {
         return true;
     } else {
         return false;
     }
     //fin del else
 }