diff --git a/app/Http/Kernel.php b/app/Http/Kernel.php index ccda74b68d2fb965e841194b4a9d7dd53d562133..d689353746b5ed0a29cf3f74138ad42addd31d93 100644 --- a/app/Http/Kernel.php +++ b/app/Http/Kernel.php @@ -65,6 +65,8 @@ class Kernel extends HttpKernel 'isTemp' => \App\Http\Middleware\IsTemp::class, 'checkAdministrador' => \App\Http\Middleware\checkAdministrador::class, 'checkAdminResp' => \App\Http\Middleware\checkAdminResp::class, + 'checkCoordenador' => \App\Http\Middleware\checkCoordenador::class, + 'checkRoles' => \App\Http\Middleware\checkRoles::class, ]; /** diff --git a/app/Http/Middleware/checkRoles.php b/app/Http/Middleware/checkRoles.php new file mode 100644 index 0000000000000000000000000000000000000000..dfb4a4d4893af87b564a07ed1937cda305392402 --- /dev/null +++ b/app/Http/Middleware/checkRoles.php @@ -0,0 +1,39 @@ +tipo == 'administrador'){ + return $next($request); + }*/ + + foreach($roles as $role){ + if($user->tipo == $role){ + return $next($request); + } + } + + return redirect('home')->with('error', 'Você não possui privilégios para acessar esta funcionalidade'); + } + +} diff --git a/routes/web.php b/routes/web.php index 72d5a9eeba98f191b6ac02c12fbc8919079d61ef..c00a2d811cb9a38e1ca8a2ff5c956c262ec27359 100644 --- a/routes/web.php +++ b/routes/web.php @@ -231,16 +231,9 @@ Route::prefix('evento')->name('evento.')->group(function(){ Route::post( '/criar', 'EventoController@store' )->name('criar')->middleware('checkAdministrador'); Route::get( '/visualizar/{id}','EventoController@show' )->name('visualizar')->middleware('auth'); Route::get( '/listar', 'EventoController@listar' )->name('listar')->middleware('auth'); - - Route::delete( '/excluir/{id}', 'EventoController@destroy' )->name('deletar')->middleware('checkAdministrador'); - Route::delete( '/excluir/{id}', 'EventoController@destroy' )->name('deletar')->middleware(checkCoordenador::class); - - Route::get( '/editar/{id}', 'EventoController@edit' )->name('editar')->middleware('checkAdministrador'); - Route::get( '/editar/{id}', 'EventoController@edit' )->name('editar')->middleware(checkCoordenador::class); - - Route::post( '/editar/{id}', 'EventoController@update' )->name('update')->middleware('checkAdministrador'); - Route::post( '/editar/{id}', 'EventoController@update' )->name('update')->middleware(checkCoordenador::class); - + Route::delete( '/excluir/{id}', 'EventoController@destroy' )->name('deletar')->middleware('checkRoles:coordenador,administrador'); + Route::get( '/editar/{id}', 'EventoController@edit' )->name('editar')->middleware('checkRoles:coordenador,administrador'); + Route::post( '/editar/{id}', 'EventoController@update' )->name('update')->middleware('checkRoles:coordenador,administrador'); Route::post( '/setResumo', 'EventoController@setResumo' )->name('setResumo')->middleware('checkAdministrador'); Route::post( '/setFoto', 'EventoController@setFotoEvento' )->name('setFotoEvento')->middleware('checkAdministrador');