Issues (2963)

app/Policies/DevicePolicy.php (1 issue)

1
<?php
2
3
namespace App\Policies;
4
5
use App\Facades\Permissions;
6
use App\Models\Device;
7
use App\Models\User;
8
use Illuminate\Auth\Access\HandlesAuthorization;
9
10
class DevicePolicy
11
{
12
    use HandlesAuthorization;
13
14
    /**
15
     * Determine whether the user can view any devices.
16
     *
17
     * @param  \App\Models\User  $user
18
     * @return mixed
19
     */
20
    public function viewAny(User $user)
21
    {
22
        return $user->hasGlobalRead();
23
    }
24
25
    /**
26
     * Determine whether the user can view the device.
27
     *
28
     * @param  \App\Models\User  $user
29
     * @param  \App\Models\Device  $device
30
     * @return mixed
31
     */
32
    public function view(User $user, Device $device)
33
    {
34
        return $this->viewAny($user) || Permissions::canAccessDevice($device, $user);
35
    }
36
37
    /**
38
     * Determine whether the user can create devices.
39
     *
40
     * @param  \App\Models\User  $user
41
     * @return mixed
42
     */
43
    public function create(User $user)
44
    {
45
        return $user->hasGlobalAdmin();
46
    }
47
48
    /**
49
     * Determine whether the user can update the device.
50
     *
51
     * @param  \App\Models\User  $user
52
     * @param  \App\Models\Device  $device
53
     * @return mixed
54
     */
55
    public function update(User $user, Device $device)
56
    {
57
        return $user->isAdmin();
58
    }
59
60
    /**
61
     * Determine whether the user can delete the device.
62
     *
63
     * @param  \App\Models\User  $user
64
     * @param  \App\Models\Device  $device
65
     * @return mixed
66
     */
67
    public function delete(User $user, Device $device)
68
    {
69
        return $user->isAdmin();
70
    }
71
72
    /**
73
     * Determine whether the user can restore the device.
74
     *
75
     * @param  \App\Models\User  $user
76
     * @param  \App\Models\Device  $device
77
     * @return mixed
78
     */
79
    public function restore(User $user, Device $device)
80
    {
81
        return $user->hasGlobalAdmin();
82
    }
83
84
    /**
85
     * Determine whether the user can permanently delete the device.
86
     *
87
     * @param  \App\Models\User  $user
88
     * @param  \App\Models\Device  $device
89
     * @return mixed
90
     */
91
    public function forceDelete(User $user, Device $device)
92
    {
93
        return $user->isAdmin();
94
    }
95
96
    /**
97
     * Determine whether the user can view the stored configuration of the device
98
     * from Oxidized or Rancid
99
     *
100
     * @param  \App\Models\User  $user
101
     * @param  \App\Models\Device  $device
102
     * @return mixed
103
     */
104
    public function showConfig(User $user, Device $device)
105
    {
106
        return $user->isAdmin();
107
    }
108
109
    /**
110
     * Determine whether the user can update device notes.
111
     *
112
     * @param  \App\Models\User  $user
113
     * @param  \App\Models\Device  $device
114
     * @return mixed
115
     */
116
    public function updateNotes(User $user, Device $device)
0 ignored issues
show
The parameter $device is not used and could be removed. ( Ignorable by Annotation )

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

116
    public function updateNotes(User $user, /** @scrutinizer ignore-unused */ Device $device)

This check looks for parameters that have been defined for a function or method, but which are not used in the method body.

Loading history...
117
    {
118
        return $user->isAdmin();
119
    }
120
}
121