Code Coverage |
||||||||||
Classes and Traits |
Functions and Methods |
Lines |
||||||||
| Total | |
0.00% |
0 / 1 |
|
0.00% |
0 / 1 |
CRAP | |
66.67% |
6 / 9 |
| CheckRole | |
0.00% |
0 / 1 |
|
0.00% |
0 / 1 |
4.59 | |
66.67% |
6 / 9 |
| handle | |
0.00% |
0 / 1 |
4.59 | |
66.67% |
6 / 9 |
|||
| <?php | |
| namespace App\Http\Middleware; | |
| use Closure; | |
| use Illuminate\Http\Request; | |
| use Illuminate\Support\Facades\Auth; | |
| use Illuminate\Support\Facades\Route; | |
| class CheckRole | |
| { | |
| /** | |
| * Handle an incoming request. | |
| * Redirect user to home page if he has not the privilege to make the next action | |
| * @param Request $request | |
| * @param Closure $next | |
| * @return mixed | |
| */ | |
| public function handle($request, Closure $next) | |
| { | |
| $action=explode('.',Route::currentRouteName())[0]; | |
| $canAccess=$request->user()->canAccess($action); | |
| // dd($action,$request->user()->getRole(), $canAccess); | |
| if(!$canAccess){ | |
| return redirect('/admin/'); | |
| } | |
| if (Auth::user()->role != 'super_admin'){ | |
| if (settings('dashboard_disable') == 1){ | |
| Auth::logout(); | |
| return redirect('admin/login')->with('error', __('dashboard.failed')); | |
| } | |
| } | |
| return $next($request); | |
| } | |
| } |