Passed
Push — dev5 ( 8662bf...df64bd )
by Ron
12:04
created

AdminController::countLinks()   A

Complexity

Conditions 3
Paths 2

Size

Total Lines 25
Code Lines 15

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 12

Importance

Changes 0
Metric Value
cc 3
eloc 15
c 0
b 0
f 0
nc 2
nop 0
dl 0
loc 25
ccs 0
cts 15
cp 0
crap 12
rs 9.7666

1 Method

Rating   Name   Duplication   Size   Complexity  
A AdminController::showLinks() 0 7 1
1
<?php
2
3
namespace App\Http\Controllers\Admin;
4
5
use Carbon\Carbon;
6
use App\User;
7
use Illuminate\Http\Request;
8
use Illuminate\Support\Facades\Log;
9
use Illuminate\Support\Facades\Auth;
10
use App\Http\Controllers\Controller;
11
use Illuminate\Support\Facades\Route;
12
13
use App\Http\Resources\UserCollection;
14
15
class AdminController extends Controller
16
{
17 26
    public function __construct()
18
    {
19
        //  Only Authorized users with specific admin permissions are allowed
20 26
        $this->middleware(['auth', 'can:allow_admin']);
21 26
    }
22
23
    //  Admin landing page
24 10
    public function index()
25
    {
26 10
        Log::debug('Route '.Route::currentRouteName().' visited by User ID-'.Auth::user()->user_id);
27 10
        return view('admin.index');
28
    }
29
30
    //  Display all file links
31 2
    public function userLinks()
32
    {
33 2
        $userLinks = new UserCollection(
34 2
                        User::where('active', 1)
35 2
                            ->withCount([
36 2
                                'FileLinks',
37
                                'FileLinks as expired_file_links_count' => function($query)
38
                                {
39 2
                                    $query->where('expire', '<', Carbon::now());
40 2
                                }
41
                            ])
42 2
                            ->get()
43 2
                            ->makeVisible('user_id')
44
                    );
45
46 2
        Log::debug('Route '.Route::currentRouteName().' visited by User ID-'.Auth::user()->user_id);
47 2
        return view('admin.userLinks', [
48 2
            'links' => $userLinks,
49
        ]);
50
    }
51
52
    //  Show the links for the selected user
53 2
    public function showLinks($id)
54
    {
55 2
        $user     = User::find($id);
56
57 2
        Log::debug('Route '.Route::currentRouteName().' visited by User ID-'.Auth::user()->user_id);
58 2
        return view('admin.linkDetails', [
59 2
            'user' => $user,
60
            // 'name'   => $userName
61
        ]);
62
    }
63
}
64