Completed
Pull Request — master (#160)
by
unknown
01:52
created

Admin   A

Complexity

Total Complexity 7

Size/Duplication

Total Lines 37
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 3

Importance

Changes 2
Bugs 1 Features 0
Metric Value
wmc 7
lcom 0
cbo 3
dl 0
loc 37
rs 10
c 2
b 1
f 0

1 Method

Rating   Name   Duplication   Size   Complexity  
C handle() 0 25 7
1
<?php
2
3
namespace Backpack\Base\app\Http\Middleware;
4
5
use Closure;
6
use Illuminate\Support\Facades\Auth;
7
8
class Admin
9
{
10
    /**
11
     * Handle an incoming request.
12
     *
13
     * @param \Illuminate\Http\Request $request
14
     * @param \Closure                 $next
15
     * @param string|null              $guard
16
     *
17
     * @return mixed
18
     */
19
    public function handle($request, Closure $next, $guard = null)
20
    {
21
        if (Auth::guard($guard)->guest()) {
22
            if ($request->ajax() || $request->wantsJson()) {
23
                abort(403);
24
            } else {
25
                if (!config('backpack.base.permission_protection')) 
26
                {
27
                    return redirect()->guest(config('backpack.base.route_prefix', 'admin').'/login');
28
                }
29
                return redirect()->guest('/login');
30
            }
31
        }
32
33
        else if (config('backpack.base.permission_protection')) 
34
        {
35
            if (! $request->user()->can(config('backpack.base.permission_name'))) {
36
                abort(403);          
37
            }
38
        }
39
40
            
41
42
        return $next($request);
43
    }
44
}
45