/**
  * Creates a new UsuarioGrupo model.
  * If creation is successful, the browser will be redirected to the 'view' page.
  * @return mixed
  */
 public function actionCreate()
 {
     $model = new UsuarioGrupo();
     if ($model->load(Yii::$app->request->post()) && $model->save()) {
         return $this->redirect(['view', 'id_grupo' => $model->id_grupo, 'id_usuario' => $model->id_usuario]);
     } else {
         return $this->render('create', ['model' => $model]);
     }
 }
 /**
  * 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."];
 }