/**
  * Store a newly created resource in storage.
  *
  * @return Response
  */
 public function store()
 {
     $datos = Input::all();
     $id_grupo = $datos['id_grupo_usuario'];
     foreach (Modulo::all() as $modulo) {
         $modulousuario = ModuloUsuario::where('id_grupo_usuario', $id_grupo)->where('id_modulo', $modulo->id)->first();
         if (!empty($datos['modulo_' . $modulo->id . ''])) {
             if (empty($modulousuario->id)) {
                 $modulousuario = new ModuloUsuario();
                 $modulousuario->id_modulo = $modulo->id;
                 $modulousuario->id_grupo_usuario = $id_grupo;
                 $modulousuario->inactivo = 0;
                 $modulousuario->save();
             } else {
                 if ($modulousuario->inactivo == 1) {
                     $modulousuario->inactivo = 0;
                     $modulousuario->save();
                 }
             }
         } else {
             if (!empty($modulousuario->id)) {
                 $modulousuario->inactivo = 1;
                 $modulousuario->save();
             }
         }
     }
     return Redirect::route('datos.modulos.show', $id_grupo);
 }
示例#2
0
        $ruta = Route::getCurrentRoute()->uri();
        // convierte en arreglo la ruta
        $ruta_array = explode('/', $ruta);
        //Si la ruta corresponde "datos/citas", y no se encuentra vacio el indice 1, concatenara dicha ruta
        // de lo contrario se selecciono reportes.
        if (!empty($ruta_array[1])) {
            //ej. datos.citas
            $ruta_final = $ruta_array[0] . '.' . $ruta_array[1];
        } else {
            //ej. reportes
            $ruta_final = $ruta_array[0];
        }
        //Selecciona el ID del Modulo que contenga la ruta que trata de visitar el usuario autenticado
        $modulo = Modulo::where('ruta', 'like', '%' . $ruta_final . '%')->select('id')->first()->toArray();
        //Busca si el usuario tiene acceso al modulo que desea entrar
        $moduloUser = ModuloUsuario::where('id_grupo_usuario', $groupId)->where('id_modulo', $modulo['id'])->where('inactivo', 0)->select('id')->get()->toArray();
        //Si está vacío no tiene acceso al modulo
        if (empty($moduloUser)) {
            App::abort(403);
        }
    }
});
/*
|--------------------------------------------------------------------------
| CSRF Protection Filter
|--------------------------------------------------------------------------
|
| The CSRF filter is responsible for protecting your application against
| cross-site request forgery attacks. If this special token in a user
| session does not match the one given in this request, we'll bail.
|