Bristol SU Support Package
src
Permissions
Testers
SystemUserPermission.php
Go to the documentation of this file.
1
<?php
2
3
namespace
BristolSU\Support\Permissions\Testers
;
4
5
use
BristolSU\Support\Authentication\Contracts\Authentication
;
6
use
BristolSU\Support\Permissions\Contracts\Models\Permission
;
7
use
BristolSU\Support\Permissions\Contracts\Tester
;
8
use
BristolSU\Support\Permissions\Models\ModelPermission
;
9
use
BristolSU\ControlDB\Contracts\Models\Group
;
10
use
BristolSU\ControlDB\Contracts\Models\Role
;
11
use
BristolSU\ControlDB\Contracts\Models\User
;
12
16
class
SystemUserPermission
extends
Tester
17
{
18
30
public
function
can
(
Permission
$permission, ?User $user, ?Group $group, ?Role $role): ?bool
31
{
32
if
($user === null || $permission->
getType
() !==
'global'
) {
33
return
null;
34
}
35
36
$override = ModelPermission::user($user->id(), $permission->
getAbility
())->first();
37
38
return
($override === null ?null:$override->result);
39
}
40
}
Permission
BristolSU\Support\Permissions\Testers
Definition:
ModuleInstanceGroupOverridePermission.php:3
BristolSU\Support\Permissions\Contracts\Models\Permission\getAbility
getAbility()
User
Group
ModelPermission
Role
BristolSU\Support\Permissions\Testers\SystemUserPermission
Definition:
SystemUserPermission.php:16
Authentication
BristolSU\Support\Permissions\Contracts\Models\Permission\getType
getType()
BristolSU\Support\Permissions\Contracts\Tester
Definition:
Tester.php:15
BristolSU\Support\Permissions\Contracts\Models\Permission
Definition:
Permission.php:11
BristolSU\Support\Permissions\Testers\SystemUserPermission\can
can(Permission $permission, ?User $user, ?Group $group, ?Role $role)
Definition:
SystemUserPermission.php:30
Tester
Generated by
1.8.13