BestowalTodoTemplateItem
extends BaseEntity
in package
A single parallel checklist item within a bestowal to-do template.
Items declare who may complete them (assignee_*) and whether they gate the bestowal's "ready to give" state. Unlike approval steps there is no sequence or threshold — all items are worked in parallel.
Table of Contents
Constants
- ASSIGNEE_TYPE_DYNAMIC : mixed = 'dynamic'
- ASSIGNEE_TYPE_MEMBER : mixed = 'member'
- ASSIGNEE_TYPE_OFFICE : mixed = 'office'
- ASSIGNEE_TYPE_OPTIONS : mixed = [self::ASSIGNEE_TYPE_ROLE => 'Role', self::ASSI...
- ASSIGNEE_TYPE_PERMISSION : mixed = 'permission'
- ASSIGNEE_TYPE_ROLE : mixed = 'role'
- ASSIGNEE_TYPE_TO_ACTION_ITEM : array<string, string> = [self::ASSIGNEE_TYPE_ROLE => \App\Model\Entity\...
- Maps template assignee types to the core ActionItem assignee vocabulary.
- BRANCH_MODE_ANCESTOR_TYPE : mixed = 'ancestor_branch_type'
- BRANCH_MODE_AWARD : mixed = 'award_branch'
- BRANCH_MODE_OPTIONS : mixed = [self::BRANCH_MODE_AWARD => 'Award branch', sel...
- COMPLETION_PROVIDER_BESTOWAL_COURT_SLOT : mixed = 'Awards.BestowalCourtSlot'
- COMPLETION_PROVIDER_BESTOWAL_GATHERING : mixed = 'Awards.BestowalGathering'
- ITEM_KEY_ADDED_TO_AGENDA : mixed = 'added_to_agenda'
- ITEM_KEY_EVENT_SCHEDULED : mixed = 'event_scheduled'
- REQUIRED_FIELD_COURT_SLOT : mixed = 'court_slot'
- REQUIRED_FIELD_GATHERING : mixed = 'gathering_id'
- REQUIRED_FIELD_OPTIONS : mixed = ['' => 'None', self::REQUIRED_FIELD_GATHERING =...
Properties
- $branch_id : int|null
- $created : DateTime|null
- $id : int
- $modified : DateTime|null
- $_accessible : array<string, bool>
Methods
- getBranchId() : int|null
- Get the branch ID for authorization checks.
- getCompletionConfig() : array<string, mixed>|null
- Build completion metadata consumed by core ActionItems.
- getDefaultRequiredFieldConfigForSourceRef() : array<string, mixed>|null
- Default required-field metadata for built-in template items.
- helpForRequiredField() : string
- labelForRequiredField() : string
- providerForRequiredField() : string|null
- _getAssigneeSummary() : string
- Summarize the configured assignee source for grids and detail views.
Constants
ASSIGNEE_TYPE_DYNAMIC
public
mixed
ASSIGNEE_TYPE_DYNAMIC
= 'dynamic'
ASSIGNEE_TYPE_MEMBER
public
mixed
ASSIGNEE_TYPE_MEMBER
= 'member'
ASSIGNEE_TYPE_OFFICE
public
mixed
ASSIGNEE_TYPE_OFFICE
= 'office'
ASSIGNEE_TYPE_OPTIONS
public
mixed
ASSIGNEE_TYPE_OPTIONS
= [self::ASSIGNEE_TYPE_ROLE => 'Role', self::ASSIGNEE_TYPE_PERMISSION => 'Permission', self::ASSIGNEE_TYPE_OFFICE => 'Office', self::ASSIGNEE_TYPE_MEMBER => 'Member', self::ASSIGNEE_TYPE_DYNAMIC => 'Dynamic resolver']
ASSIGNEE_TYPE_PERMISSION
public
mixed
ASSIGNEE_TYPE_PERMISSION
= 'permission'
ASSIGNEE_TYPE_ROLE
public
mixed
ASSIGNEE_TYPE_ROLE
= 'role'
ASSIGNEE_TYPE_TO_ACTION_ITEM
Maps template assignee types to the core ActionItem assignee vocabulary.
public
array<string, string>
ASSIGNEE_TYPE_TO_ACTION_ITEM
= [self::ASSIGNEE_TYPE_ROLE => \App\Model\Entity\ActionItem::ASSIGNEE_TYPE_ROLE, self::ASSIGNEE_TYPE_PERMISSION => \App\Model\Entity\ActionItem::ASSIGNEE_TYPE_PERMISSION, self::ASSIGNEE_TYPE_MEMBER => \App\Model\Entity\ActionItem::ASSIGNEE_TYPE_MEMBER, self::ASSIGNEE_TYPE_OFFICE => \App\Model\Entity\ActionItem::ASSIGNEE_TYPE_DYNAMIC, self::ASSIGNEE_TYPE_DYNAMIC => \App\Model\Entity\ActionItem::ASSIGNEE_TYPE_DYNAMIC]
Office is resolved through a dynamic resolver at materialization time, so it maps to the ActionItem dynamic type.
BRANCH_MODE_ANCESTOR_TYPE
public
mixed
BRANCH_MODE_ANCESTOR_TYPE
= 'ancestor_branch_type'
BRANCH_MODE_AWARD
public
mixed
BRANCH_MODE_AWARD
= 'award_branch'
BRANCH_MODE_OPTIONS
public
mixed
BRANCH_MODE_OPTIONS
= [self::BRANCH_MODE_AWARD => 'Award branch', self::BRANCH_MODE_ANCESTOR_TYPE => 'Ancestor branch type']
COMPLETION_PROVIDER_BESTOWAL_COURT_SLOT
public
mixed
COMPLETION_PROVIDER_BESTOWAL_COURT_SLOT
= 'Awards.BestowalCourtSlot'
COMPLETION_PROVIDER_BESTOWAL_GATHERING
public
mixed
COMPLETION_PROVIDER_BESTOWAL_GATHERING
= 'Awards.BestowalGathering'
ITEM_KEY_ADDED_TO_AGENDA
public
mixed
ITEM_KEY_ADDED_TO_AGENDA
= 'added_to_agenda'
ITEM_KEY_EVENT_SCHEDULED
public
mixed
ITEM_KEY_EVENT_SCHEDULED
= 'event_scheduled'
REQUIRED_FIELD_COURT_SLOT
public
mixed
REQUIRED_FIELD_COURT_SLOT
= 'court_slot'
REQUIRED_FIELD_GATHERING
public
mixed
REQUIRED_FIELD_GATHERING
= 'gathering_id'
REQUIRED_FIELD_OPTIONS
public
mixed
REQUIRED_FIELD_OPTIONS
= ['' => 'None', self::REQUIRED_FIELD_GATHERING => 'Bestowal gathering', self::REQUIRED_FIELD_COURT_SLOT => 'Court assignment']
Properties
$branch_id
public
int|null
$branch_id
Associated branch ID (when applicable)
$created
public
DateTime|null
$created
Creation timestamp
$id
public
int
$id
Primary key identifier
$modified
public
DateTime|null
$modified
Last modification timestamp
$_accessible
protected
array<string, bool>
$_accessible
= ['template_id' => true, 'item_key' => true, 'label' => true, 'description' => true, 'assignee_type' => true, 'assignee_source_id' => true, 'assignee_source_key' => true, 'branch_mode' => true, 'branch_type' => true, 'is_gating' => true, 'is_terminal' => true, 'required_field' => true, 'required_field_config' => true, 'sort_order' => true, 'created' => true, 'modified' => true, 'created_by' => true, 'modified_by' => true, 'deleted' => true, 'bestowal_todo_template' => true]
Methods
getBranchId()
Get the branch ID for authorization checks.
public
getBranchId() : int|null
Child classes should override for complex branch relationships.
Return values
int|null —The branch ID, or null if no association
getCompletionConfig()
Build completion metadata consumed by core ActionItems.
public
getCompletionConfig() : array<string, mixed>|null
Return values
array<string, mixed>|nullgetDefaultRequiredFieldConfigForSourceRef()
Default required-field metadata for built-in template items.
public
static getDefaultRequiredFieldConfigForSourceRef(string|null $sourceRef) : array<string, mixed>|null
Parameters
- $sourceRef : string|null
-
Action item source reference.
Return values
array<string, mixed>|nullhelpForRequiredField()
public
static helpForRequiredField(string $requiredField) : string
Parameters
- $requiredField : string
-
Required field key.
Return values
string —Help text.
labelForRequiredField()
public
static labelForRequiredField(string $requiredField) : string
Parameters
- $requiredField : string
-
Required field key.
Return values
string —Label.
providerForRequiredField()
public
static providerForRequiredField(string $requiredField) : string|null
Parameters
- $requiredField : string
-
Required field key.
Return values
string|null —Completion provider key.
_getAssigneeSummary()
Summarize the configured assignee source for grids and detail views.
protected
_getAssigneeSummary() : string