Passed
Push — dev5 ( 87417d...ba7c22 )
by Ron
06:21 queued 11s
created

AdminController::index()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 3
CRAP Score 1

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 1
eloc 2
c 1
b 0
f 0
nc 1
nop 0
dl 0
loc 4
rs 10
ccs 3
cts 3
cp 1
crap 1
1
<?php
2
3
namespace App\Http\Controllers\Admin;
4
5
use App\User;
6
use Illuminate\Http\Request;
7
use Illuminate\Support\Facades\Log;
8
use Illuminate\Support\Facades\Auth;
9
use App\Http\Controllers\Controller;
10
use Illuminate\Support\Facades\Route;
11
12
class AdminController extends Controller
13
{
14 14
    public function __construct()
15
    {
16
        //  Only Authorized users with specific admin permissions are allowed
17 14
        $this->middleware(['auth', 'can:allow_admin']);
18 14
    }
19
20
    //  Admin landing page
21 10
    public function index()
22
    {
23 10
        Log::debug('Route '.Route::currentRouteName().' visited by User ID-'.Auth::user()->user_id);
24 10
        return view('admin.index');
25
    }
26
27
28
29
30
31
32
33
34
35
36
37
38
    //  Display all file links
39
    public function userLinks()
40
    {
41
        Log::debug('Route '.Route::currentRouteName().' visited by User ID-'.Auth::user()->user_id);
42
        return view('admin.userLinks');
43
    }
44
45
    //  Get the number of links for each user
46
    public function countLinks()
47
    {
48
        $userLinks = User::with('FileLinks')->get();
49
        $linkCount = [];
50
51
        foreach($userLinks as $user)
52
        {
53
            $expired = $user->FileLinks->filter(function($lnk) {
54
                            if($lnk->expire < date('Y-m-d'))
55
                            {
56
                                return $lnk;
57
                            }
58
                        })->count();
59
60
            $linkCount[] = [
61
                'user_id' => $user->user_id,
62
                'name'    => $user->first_name.' '.$user->last_name,
63
                'total'   => $user->FileLinks->count(),
64
                'expired' => $expired
65
            ];
66
        }
67
68
        Log::debug('Route '.Route::currentRouteName().' visited by User ID-'.Auth::user()->user_id);
69
        Log::debug('Link Count', $linkCount);
70
        return response()->json($linkCount);
71
    }
72
73
    //  Show the links for the selected user
74
    public function showLinks($id)
75
    {
76
        $user     = User::find($id);
77
        $userName = $user->first_name.' '.$user->last_name;
78
79
        Log::debug('Route '.Route::currentRouteName().' visited by User ID-'.Auth::user()->user_id);
80
        return view('admin.linkDetails', [
81
            'userID' => $id,
82
            'name'   => $userName
83
        ]);
84
    }
85
}
86