GatheringAttendancePolicy
extends BasePolicy
in package
GatheringAttendance policy
Extends BasePolicy to leverage the standard RBAC permission system while also allowing members to manage their own gathering attendance records.
Table of Contents
Methods
- before() : bool|null
- Check if $user is a super user and can skip auth with an auto True
- canAdd() : bool
- Check if user can add gathering attendance
- canDelete() : bool
- Check if user can delete gathering attendance
- canEdit() : bool
- Check if user can edit gathering attendance
- canGridData() : bool
- Check if $user can view role
- canIndex() : bool
- Check if $user can view role
- canView() : bool
- Check if user can view gathering attendance
- canViewCrown() : bool
- Explicit crown-recipient grant, populated by the Awards permission migration.
- canViewPrivateNotes() : bool
- Check if $user can view hidden
- canViewShared() : bool
- Consent and recipient scope for attendance enrichment outside the owner's page.
- scopeIndex() : mixed
- Apply scope for index action.
- _getBranchIdsForPolicy() : array<string|int, mixed>|null
- Check if $user can view hidden
- _getPermissions() : bool
- Check if $user can view hidden
- _getPolicies() : bool
- Check if $user can view hidden
- _grantSourceIncludesBranch() : bool
- Check whether a matching source grants the requested branch.
- _hasPolicy() : bool
- Check if $user can view hidden
- _hasPolicyForUrl() : bool
- Check if $user can view hidden
- _isSuperUser() : bool
- Check if $user is a super user
- _matchesGrantSource() : bool
- Check whether a policy method was granted by a compatible source entity.
- canManageMemberAttendance() : bool
- Determine whether the user can manage attendance for a member.
Methods
before()
Check if $user is a super user and can skip auth with an auto True
public
before(KmpIdentityInterface $user, mixed $resource, string $action) : bool|null
Parameters
- $user : KmpIdentityInterface
-
The user.
- $resource : mixed
-
The resource.
- $action : string
-
The action.
Return values
bool|nullcanAdd()
Check if user can add gathering attendance
public
canAdd(KmpIdentityInterface $user, BaseEntity|Table $entity, mixed ...$optionalArgs) : bool
Users can register their own attendance or users with appropriate permissions can register attendance for others.
Parameters
- $user : KmpIdentityInterface
-
The user.
- $entity : BaseEntity|Table
-
The entity or table
- $optionalArgs : mixed
-
Optional arguments
Return values
boolcanDelete()
Check if user can delete gathering attendance
public
canDelete(KmpIdentityInterface $user, BaseEntity $entity, mixed ...$optionalArgs) : bool
Users can delete their own attendance or users with appropriate permissions can delete others' attendance.
Parameters
- $user : KmpIdentityInterface
-
The user.
- $entity : BaseEntity
-
The entity
- $optionalArgs : mixed
-
Optional arguments
Return values
boolcanEdit()
Check if user can edit gathering attendance
public
canEdit(KmpIdentityInterface $user, BaseEntity $entity, mixed ...$optionalArgs) : bool
Users can edit their own attendance or users with appropriate permissions can edit others' attendance.
Parameters
- $user : KmpIdentityInterface
-
The user.
- $entity : BaseEntity
-
The entity
- $optionalArgs : mixed
-
Optional arguments
Return values
boolcanGridData()
Check if $user can view role
public
canGridData(KmpIdentityInterface $user, BaseEntity $entity, mixed ...$optionalArgs) : bool
Parameters
- $user : KmpIdentityInterface
-
The user.
- $entity : BaseEntity
- $optionalArgs : mixed
Return values
boolcanIndex()
Check if $user can view role
public
canIndex(KmpIdentityInterface $user, BaseEntity $entity, mixed ...$optionalArgs) : bool
Parameters
- $user : KmpIdentityInterface
-
The user.
- $entity : BaseEntity
- $optionalArgs : mixed
Return values
boolcanView()
Check if user can view gathering attendance
public
canView(KmpIdentityInterface $user, BaseEntity|Table $entity, mixed ...$optionalArgs) : bool
Users can view their own attendance or users with appropriate permissions can view others' attendance.
Parameters
- $user : KmpIdentityInterface
-
The user.
- $entity : BaseEntity|Table
-
The entity or table
- $optionalArgs : mixed
-
Optional arguments
Return values
boolcanViewCrown()
Explicit crown-recipient grant, populated by the Awards permission migration.
public
canViewCrown(KmpIdentityInterface $user, BaseEntity $entity, mixed ...$optionalArgs) : bool
Parameters
- $user : KmpIdentityInterface
- $entity : BaseEntity
- $optionalArgs : mixed
Return values
boolcanViewPrivateNotes()
Check if $user can view hidden
public
canViewPrivateNotes(KmpIdentityInterface $user, BaseEntity $entity) : bool
Parameters
- $user : KmpIdentityInterface
-
The user.
- $entity : BaseEntity
Return values
boolcanViewShared()
Consent and recipient scope for attendance enrichment outside the owner's page.
public
canViewShared(KmpIdentityInterface $user, BaseEntity $entity, mixed ...$optionalArgs) : bool
Parameters
- $user : KmpIdentityInterface
- $entity : BaseEntity
- $optionalArgs : mixed
Return values
boolscopeIndex()
Apply scope for index action.
public
scopeIndex(KmpIdentityInterface $user, mixed $query) : mixed
Parameters
- $user : KmpIdentityInterface
- $query : mixed
_getBranchIdsForPolicy()
Check if $user can view hidden
protected
_getBranchIdsForPolicy(KmpIdentityInterface $user, string $policyMethod) : array<string|int, mixed>|null
Parameters
- $user : KmpIdentityInterface
-
The user.
- $policyMethod : string
Return values
array<string|int, mixed>|null_getPermissions()
Check if $user can view hidden
protected
_getPermissions(KmpIdentityInterface $user) : bool
Parameters
- $user : KmpIdentityInterface
-
The user.
Return values
bool_getPolicies()
Check if $user can view hidden
protected
_getPolicies(KmpIdentityInterface $user) : bool
Parameters
- $user : KmpIdentityInterface
-
The user.
Return values
bool_grantSourceIncludesBranch()
Check whether a matching source grants the requested branch.
protected
_grantSourceIncludesBranch(object $source, int|null $branchId) : bool
Parameters
- $source : object
-
Matching grant source
- $branchId : int|null
-
Branch context for the authorization check
Return values
bool_hasPolicy()
Check if $user can view hidden
protected
_hasPolicy(KmpIdentityInterface $user, string $policyMethod, BaseEntity|Table $entity[, int|null $branchId = null ][, mixed $grantSource = null ]) : bool
Parameters
- $user : KmpIdentityInterface
-
The user.
- $policyMethod : string
- $entity : BaseEntity|Table
- $branchId : int|null = null
- $grantSource : mixed = null
Return values
bool_hasPolicyForUrl()
Check if $user can view hidden
protected
_hasPolicyForUrl(KmpIdentityInterface $user, string $policyMethod, array<string|int, mixed> $urlProps[, int|null $branchId = null ][, mixed $grantSource = null ]) : bool
Parameters
- $user : KmpIdentityInterface
-
The user.
- $policyMethod : string
- $urlProps : array<string|int, mixed>
- $branchId : int|null = null
- $grantSource : mixed = null
Return values
bool_isSuperUser()
Check if $user is a super user
protected
_isSuperUser(KmpIdentityInterface $user) : bool
Parameters
- $user : KmpIdentityInterface
-
The user.
Return values
bool_matchesGrantSource()
Check whether a policy method was granted by a compatible source entity.
protected
_matchesGrantSource(object $policyMethodData, object $grantSource[, int|null $branchId = null ]) : bool
Parameters
- $policyMethodData : object
-
Policy method authorization data
- $grantSource : object
-
Source entity being checked
- $branchId : int|null = null
-
Branch context for the authorization check
Return values
boolcanManageMemberAttendance()
Determine whether the user can manage attendance for a member.
protected
canManageMemberAttendance(KmpIdentityInterface $user, int $memberId) : bool
Allows self or parent-of-minor access.
Parameters
- $user : KmpIdentityInterface
- $memberId : int