Passed
Push — develop ( 7d6347...bbcebd )
by Nikita
06:10
created

UsersController::show()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 2

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 1
eloc 1
c 1
b 0
f 0
nc 1
nop 1
dl 0
loc 3
ccs 0
cts 2
cp 0
crap 2
rs 10
1
<?php
2
3
namespace Gameap\Http\Controllers\Admin;
4
5
use Bouncer;
6
use Gameap\Http\Controllers\AuthController;
7
use Gameap\Models\User;
8
use Gameap\Repositories\UserRepository;
9
use Gameap\Http\Requests\Admin\UserCreateRequest;
10
use Gameap\Http\Requests\Admin\UserUpdateRequest;
11
12
class UsersController extends AuthController
13
{
14
    /**
15
     * The UserRepository instance.
16
     *
17
     * @var \Gameap\Repositories\UserRepository
18
     */
19
    protected $repository;
20
21
    /**
22
     * Create a new UserRepository instance.
23
     *
24
     * @param  \Gameap\Repositories\UserRepository $repository
25
     */
26 9
    public function __construct(UserRepository $repository)
27
    {
28 9
        parent::__construct();
29 9
        $this->repository = $repository;
30 9
    }
31
32
    /**
33
     * Display a listing of the users.
34
     *
35
     * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
36
     */
37 3
    public function index()
38
    {
39 3
        return view('admin.users.list',[
40 3
            'users' => $this->repository->getAll()
41
        ]);
42
    }
43
44
    /**
45
     * Display new create user page
46
     *
47
     * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
48
     */
49 3
    public function create()
50
    {
51 3
        $roles = Bouncer::role()->all();
52
        
53 3
        return view('admin.users.create', compact('roles'));
54
    }
55
56
    /**
57
     * Store a newly created user in storage.
58
     *
59
     * @param UserCreateRequest $request
60
     * @return \Illuminate\Http\RedirectResponse
61
     */
62
    public function store(UserCreateRequest $request)
63
    {
64
        $this->repository->store($request->all());
65
66
        return redirect()->route('admin.users.index')
67
            ->with('success', __('users.create_success_msg'));
68
    }
69
70
    /**
71
     * Display the specified resource.
72
     *
73
     * @param User $user
74
     * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
75
     */
76
    public function show(User $user)
77
    {
78
        return view('admin.users.view', compact('user'));
79
    }
80
81
    /**
82
     * Show the form for editing the specified resource.
83
     *
84
     * @param User $user
85
     * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
86
     */
87 3
    public function edit(User $user)
88
    {
89 3
        $roles = Bouncer::role()->all();
90 3
        return view('admin.users.edit', compact('user', 'roles'));
91
    }
92
93
    /**
94
     * Update the specified resource in storage.
95
     *
96
     * @param  \Gameap\Http\Requests\Admin\UserUpdateRequest  $request
97
     * @param  \Gameap\Models\User  $user
98
     * @return \Illuminate\Http\RedirectResponse
99
     */
100 3
    public function update(UserUpdateRequest $request, User $user)
101
    {
102 3
        if ($this->repository->update($user, $request->all())) {
103 3
            return redirect()->route('admin.users.index')
104 3
                ->with('success', __('users.update_success_msg'));
105
        } else {
106
            return redirect()->route('admin.users.index')
107
                ->with($user->getValidationErrors()->all());
0 ignored issues
show
Bug introduced by
It seems like $user->getValidationErrors()->all() can also be of type Illuminate\Database\Eloquent\Builder; however, parameter $key of Illuminate\Http\RedirectResponse::with() does only seem to accept array|string, maybe add an additional type check? ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-type  annotation

107
                ->with(/** @scrutinizer ignore-type */ $user->getValidationErrors()->all());
Loading history...
108
        }
109
    }
110
111
    /**
112
     * Remove the specified resource from storage.
113
     *
114
     * @param \Gameap\Models\User $user
115
     * @return \Illuminate\Http\RedirectResponse
116
     * @throws \Exception
117
     */
118 3
    public function destroy(User $user)
119
    {
120 3
        $user->delete();
121 3
        return redirect()->route('admin.users.index')
122 3
            ->with('success', __('users.delete_success_msg'));
123
    }
124
}