/**
  * Creates data provider instance with search query applied
  *
  * @param array $params
  *
  * @return ActiveDataProvider
  */
 public function search($params)
 {
     $query = UsuarioGrupo::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->joinWith("idGrupo");
     $query->joinWith("idUsuario");
     $query->andFilterWhere(['like', 'grupo.nombre', $this->id_grupo])->andFilterWhere(['like', 'usuario.login', $this->id_usuario]);
     return $dataProvider;
 }
 /**
  * Finds the UsuarioGrupo model based on its primary key value.
  * If the model is not found, a 404 HTTP exception will be thrown.
  * @param integer $id_grupo
  * @param integer $id_usuario
  * @return UsuarioGrupo the loaded model
  * @throws NotFoundHttpException if the model cannot be found
  */
 protected function findModel($id_grupo, $id_usuario)
 {
     if (($model = UsuarioGrupo::findOne(['id_grupo' => $id_grupo, 'id_usuario' => $id_usuario])) !== null) {
         return $model;
     } else {
         throw new NotFoundHttpException('The requested page does not exist.');
     }
 }
Example #3
0
 /**
  * @return \yii\db\ActiveQuery
  */
 public function getSeguridadUsuarioGrupos()
 {
     return $this->hasMany(UsuarioGrupo::className(), ['id_grupo' => 'id_grupo']);
 }
 /**
  * @return \yii\db\ActiveQuery
  */
 public function getIdGrupos()
 {
     return $this->hasMany(\app\modules\admin\models\Grupo::className(), ['id_grupo' => 'id_grupo'])->viaTable(\app\modules\admin\models\UsuarioGrupo::tableName(), ['id_usuario' => 'id_usuario']);
 }
 /**
  * Assign or revoke assignment to user
  * @param  integer $id
  * @param  string  $action
  * @return mixed
  */
 public function actionAsignarPermisos()
 {
     try {
         Yii::$app->response->format = 'json';
         if (Yii::$app->request->isAjax) {
             $usuario = SeguridadUsuarios::findOne(Yii::$app->request->post('id'));
             if ($usuario) {
                 $grupo = Grupo::findOne(Yii::$app->request->post('grupo'));
                 if ($grupo) {
                     $tipo = intval(Yii::$app->request->post('tipo'));
                     if ($tipo == 1) {
                         $model = new UsuarioGrupo();
                         $model->id_grupo = $grupo->id_grupo;
                         $model->id_usuario = $usuario->id_usuario;
                         $model->save();
                     } else {
                         if ($tipo == -1) {
                             $model = UsuarioGrupo::findOne(['id_grupo' => $grupo->id_grupo, 'id_usuario' => $usuario->id_usuario]);
                             if ($model) {
                                 $model->delete();
                             }
                         }
                     }
                     return ['success' => true];
                 }
             }
         }
     } catch (\yii\db\IntegrityException $ex) {
         return ['success' => false, 'message' => "El usuario ya tiene los permisos asignados."];
     } catch (Exception $ex) {
         return ['success' => false, 'message' => $ex->getMessage()];
     }
     return ['success' => false, 'message' => "No se pudo procesar la solicitud."];
 }