Code Coverage
 
Classes and Traits
Functions and Methods
Lines
Total
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
CRAP
0.00% covered (danger)
0.00%
0 / 17
SchedulePermission
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
72
0.00% covered (danger)
0.00%
0 / 17
 handle
0.00% covered (danger)
0.00%
0 / 1
72
0.00% covered (danger)
0.00%
0 / 17
<?php
namespace App\Http\Middleware;
use Closure;
use Illuminate\Support\Facades\Auth;
use Route;
class SchedulePermission
{
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @param  string|null  $guard
     * @return mixed
     */
    public function handle($request, Closure $next, $guard = null)
    {
        /*if (Auth::guard($guard)->check()) {*/
        $currentroutename = Route::currentRouteName();
        $route_basic_name = array();
        $route_basic_name = explode(".",$currentroutename);
        switch ($route_basic_name[0]) {
           case "my-schedule":
                if(auth()->user()->can('View My Schedule module'))
                    return $next($request);
                else
                    return redirect('/home');
                break;
            case "view-show-teams":
                if(auth()->user()->can('View Team Schedule module'))
                    return $next($request);
                else
                    return redirect('/home');
                break;
            case "show-teams":
                if(auth()->user()->can('Delete Schedule Module') || auth()->user()->can('Edit Schedule Module'))
                    return $next($request);
                else
                    return redirect('/home');
                break;
            
            default:
                return redirect('/home');
        }
    }
}