2020-10-29 15:40:23 +01:00
|
|
|
<?php
|
|
|
|
|
|
|
|
|
|
namespace App\Http\Middleware;
|
|
|
|
|
|
2023-11-23 17:31:28 +01:00
|
|
|
use App\Enums\Users\RoleEnum;
|
2020-10-29 15:40:23 +01:00
|
|
|
use Closure;
|
2023-08-21 10:22:07 +02:00
|
|
|
use Illuminate\Http\Request;
|
2020-10-29 15:40:23 +01:00
|
|
|
|
2023-08-24 12:59:51 +00:00
|
|
|
class IsAdmin
|
2020-10-29 15:40:23 +01:00
|
|
|
{
|
|
|
|
|
/**
|
|
|
|
|
* Handle an incoming request.
|
|
|
|
|
*
|
2022-08-11 10:03:16 +02:00
|
|
|
* @param \Illuminate\Http\Request $request
|
|
|
|
|
* @param \Closure $next
|
2020-10-29 15:40:23 +01:00
|
|
|
* @return mixed
|
|
|
|
|
*/
|
2023-08-21 10:22:07 +02:00
|
|
|
public function handle(Request $request, Closure $next)
|
2020-10-29 15:40:23 +01:00
|
|
|
{
|
2023-11-23 17:31:28 +01:00
|
|
|
/** @var \App\Models\User|null */
|
|
|
|
|
$user = auth('backend')->user();
|
|
|
|
|
|
|
|
|
|
if (!$user) {
|
|
|
|
|
abort(403, trans('Vous devez être authentifé'));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if ($user->role->value() > RoleEnum::admin->value()) {
|
|
|
|
|
return response()->redirectToRoute('bo.home')
|
|
|
|
|
->with('warning', trans('Vous n\'avez pas les droits nécessaires pour accéder à cet élément'));
|
2021-08-18 17:08:02 +02:00
|
|
|
}
|
2023-11-23 17:31:28 +01:00
|
|
|
|
|
|
|
|
return $next($request);
|
2020-10-29 15:40:23 +01:00
|
|
|
}
|
|
|
|
|
}
|