Issues (64)

app/Http/Controllers/UserController.php (3 issues)

1
<?php
2
3
namespace App\Http\Controllers;
4
5
use App\Http\Requests\UserRequest;
6
use App\Models\User;
7
use Illuminate\Support\Facades\Hash;
8
9
class UserController extends Controller
10
{
11
    /**
12
     * Display a listing of the users.
13
     *
14
     * @param \App\User $model
0 ignored issues
show
The type App\User was not found. Maybe you did not declare it correctly or list all dependencies?

The issue could also be caused by a filter entry in the build configuration. If the path has been excluded in your configuration, e.g. excluded_paths: ["lib/*"], you can move it to the dependency path list as follows:

filter:
    dependency_paths: ["lib/*"]

For further information see https://scrutinizer-ci.com/docs/tools/php/php-scrutinizer/#list-dependency-paths

Loading history...
15
     *
16
     * @return \Illuminate\View\View
17
     */
18
    public function index(User $model)
19
    {
20
        $data = [
21
            'users' => $model->paginate(15),
22
        ];
23
24
        return view('users.index', $data);
25
    }
26
27
    /**
28
     * Show the form for creating a new user.
29
     *
30
     * @return \Illuminate\View\View
31
     */
32
    public function create()
33
    {
34
        $roles = config('roles.models.role')::all();
35
        $data = [
36
            'roles'  => $roles,
37
        ];
38
39
        return view('users.create', $data);
40
    }
41
42
    /**
43
     * Store a newly created user in storage.
44
     *
45
     * @param \App\Http\Requests\UserRequest $request
46
     * @param \App\User                      $model
47
     *
48
     * @return \Illuminate\Http\RedirectResponse
49
     */
50
    public function store(UserRequest $request, User $model)
51
    {
52
        $newUser = $model->create($request->merge(['password' => Hash::make($request->get('password'))])->all());
53
        $role = config('roles.models.role')::find($request->role);
54
        $newUser->attachRole($role);
55
56
        return redirect()->route('user.index')->withStatus(__('User successfully created.'));
57
    }
58
59
    /**
60
     * Show the form for editing the specified user.
61
     *
62
     * @param \App\User $user
63
     *
64
     * @return \Illuminate\View\View
65
     */
66
    public function edit(User $user)
67
    {
68
        $roles = [];
0 ignored issues
show
The assignment to $roles is dead and can be removed.
Loading history...
69
        $currentRole = '';
70
        $roles = config('roles.models.role')::all();
71
72
        foreach ($user->roles as $user_role) {
0 ignored issues
show
Bug Best Practice introduced by
The property $roles is declared protected in App\Models\User. Since you implement __get, consider adding a @property or @property-read.
Loading history...
73
            $currentRole = $user_role;
74
        }
75
76
        $data = [
77
            'currentRole'   => $currentRole,
78
            'roles'         => $roles,
79
            'user'          => $user,
80
        ];
81
82
        return view('users.edit', $data);
83
    }
84
85
    /**
86
     * Update the specified user in storage.
87
     *
88
     * @param \App\Http\Requests\UserRequest $request
89
     * @param \App\User                      $user
90
     *
91
     * @return \Illuminate\Http\RedirectResponse
92
     */
93
    public function update(UserRequest $request, User $user)
94
    {
95
        $user->update(
96
            $request->merge(['password' => Hash::make($request->get('password'))])
97
                ->except(
98
                    [$request->get('password') ? '' : 'password']
99
                )
100
        );
101
102
        $role = config('roles.models.role')::find($request->role);
103
        $user->detachAllRoles();
104
        $user->attachRole($role);
105
106
        return redirect()->route('user.index')->withStatus(__('User successfully updated.'));
107
    }
108
109
    /**
110
     * Remove the specified user from storage.
111
     *
112
     * @param \App\User $user
113
     *
114
     * @return \Illuminate\Http\RedirectResponse
115
     */
116
    public function destroy(User $user)
117
    {
118
        $user->delete();
119
120
        return redirect()->route('user.index')->withStatus(__('User successfully deleted.'));
121
    }
122
}
123