KMP PHP API Reference

GatheringWaiverPolicy extends BasePolicy
in package

GatheringWaiver Entity Authorization Policy

Provides entity-level authorization for gathering waiver operations. Inherits standard CRUD operations from BasePolicy and adds waiver-specific authorization methods.

Stewards (members marked as is_steward=true in gathering_staff) can upload waivers and view pending waivers for gatherings they manage, as long as the gathering has not been closed for waivers.

Tags
see
https://github.com/Ansteorra/KMP/blob/main/docs/5.7-waivers-plugin.md

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 RolesPermissions
canChangeWaiverType()  : bool
Check if user can change waiver type.
canCloseWaivers()  : bool
Check if user can close waivers.
canDecline()  : bool
Check if user can decline a waiver.
canDelete()  : bool
Check if $user can delete RolesPermissions
canDownload()  : bool
Check if user can download.
canEdit()  : bool
Check if $user can edit RolesPermissions
canExport()  : bool
canGridData()  : bool
Check if $user can view role
canIndex()  : bool
Check if $user can view role
canInlinePdf()  : bool
Authorize inline PDF viewing for a waiver.
canNeedingWaivers()  : bool
Check if user can needing waivers.
canPreview()  : bool
Check if user can preview.
canRemoveGatheringActivity()  : bool
Check if user can remove a gathering activity after waivers have been submitted.
canUploadWaivers()  : bool
Check if user can upload waivers.
canView()  : bool
Check if $user can view RolesPermissions
canViewGatheringWaivers()  : bool
Check if user can view gathering waivers.
canViewPrivateNotes()  : bool
Check if $user can view hidden
scopeIndex()  : mixed
Apply scope for index action.
_canManageSubmittedWaivers()  : bool
Determine if user can manage submitted waivers as a waiver secretary role.
_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
_isGatheringStewardForWaiver()  : bool
Check if user is a steward for the gathering associated with this waiver
_isSuperUser()  : bool
Check if $user is a super user
_matchesGrantSource()  : bool
Check whether a policy method was granted by a compatible source entity.
_wouldOrphanSubmittedWaivers()  : bool
Check if removing an activity would orphan submitted waivers for the gathering.

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|null

canInlinePdf()

Authorize inline PDF viewing for a waiver.

public canInlinePdf(KmpIdentityInterface $user, BaseEntity $entity, mixed ...$optionalArgs) : bool

@param \App\KMP\KmpIdentityInterface $user The current user. @param \App\Model\Entity\BaseEntity $entity The waiver entity. @param mixed ...$optionalArgs Optional arguments. @return bool True when authorized.

Parameters
$user : KmpIdentityInterface
$entity : BaseEntity
$optionalArgs : mixed
Return values
bool

canRemoveGatheringActivity()

Check if user can remove a gathering activity after waivers have been submitted.

public canRemoveGatheringActivity(KmpIdentityInterface $user, BaseEntity $entity, mixed ...$optionalArgs) : bool

This is reserved for waiver managers and still blocks removal when it would orphan already-submitted waivers by removing the last activity that requires a submitted waiver type.

Parameters
$user : KmpIdentityInterface

The user.

$entity : BaseEntity

A GatheringWaiver entity with gathering_id.

$optionalArgs : mixed

Optional args, first item must be activity id.

Return values
bool

_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

_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

_isGatheringStewardForWaiver()

Check if user is a steward for the gathering associated with this waiver

protected _isGatheringStewardForWaiver(KmpIdentityInterface $user, BaseEntity $entity[, bool $checkClosure = false ]) : bool

Stewards are members assigned to a gathering's staff with is_steward=true. They can upload waivers and see pending waivers for their gatherings.

If no gathering is specified (empty entity), checks if user is a steward for ANY non-closed gathering.

Parameters
$user : KmpIdentityInterface

The user

$entity : BaseEntity

The GatheringWaiver entity (must have gathering or gathering_id)

$checkClosure : bool = false

If true, also verify the gathering is not closed for waivers

Return values
bool

True if user is a steward for this gathering (or any non-closed gathering if no specific gathering)

_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
bool

_wouldOrphanSubmittedWaivers()

Check if removing an activity would orphan submitted waivers for the gathering.

protected _wouldOrphanSubmittedWaivers(int $gatheringId, int $activityId) : bool
Parameters
$gatheringId : int

Gathering id.

$activityId : int

Activity id being removed.

Return values
bool

True when submitted waivers would become unsupported.

On this page

Search results