/** * 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); }
$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. |