ActionItem
extends BaseEntity
in package
ActionItem Entity - a reusable, polymorphic "to-do" / check.
Each action item is attached to an arbitrary owner entity via entity_type + entity_id and declares who may complete it using the same assignee vocabulary as the workflow approval subsystem.
Table of Contents
Constants
- ASSIGNEE_TYPE_DYNAMIC : mixed = 'dynamic'
- ASSIGNEE_TYPE_MEMBER : mixed = 'member'
- ASSIGNEE_TYPE_PERMISSION : mixed = 'permission'
- ASSIGNEE_TYPE_POLICY : mixed = 'policy'
- ASSIGNEE_TYPE_ROLE : mixed = 'role'
- COMPLETION_CONFIG_AUTO_COMPLETE : mixed = 'auto_complete_when_satisfied'
- STATUS_CANCELLED : mixed = 'cancelled'
- STATUS_COMPLETED : mixed = 'completed'
- STATUS_OPEN : mixed = 'open'
Properties
- $action_item_logs : array<string|int, ActionItemLog>
- $assignee_config : array<string|int, mixed>|null
- $assignee_lookup_branch_id : int|null
- $assignee_lookup_id : int|null
- $assignee_lookup_name : string|null
- $assignee_lookup_type : string|null
- $assignee_type : string
- $branch_id : int|null
- $completed_at : DateTime|null
- $completed_by : int|null
- $completed_by_member : Member|null
- $completion_config : array<string|int, mixed>|null
- $created : DateTime|null
- $created_by : int|null
- $deleted : DateTime|null
- $description : string|null
- $entity_id : int
- $entity_type : string
- $id : int
- $is_gating : bool
- $modified : DateTime|null
- $modified_by : int|null
- $sort_order : int
- $source_ref : string|null
- $status : string
- $title : string
- $_accessible : array<string, bool>
Methods
- canAutoCompleteWhenRequirementsSatisfied() : bool
- Whether this to-do may be closed by the system once its requirements validate.
- getBranchId() : int|null
- Get the branch ID for authorization checks.
- getRequiredFieldConfigs() : array<int, array<string, mixed>>
- Return normalized completion-time required-field metadata.
- hasCompletionRequirements() : bool
- Whether the action item declares completion requirements.
- isCompleted() : bool
- Whether this item has been completed.
- isOpen() : bool
- Whether this item is still open (actionable).
Constants
ASSIGNEE_TYPE_DYNAMIC
public
mixed
ASSIGNEE_TYPE_DYNAMIC
= 'dynamic'
ASSIGNEE_TYPE_MEMBER
public
mixed
ASSIGNEE_TYPE_MEMBER
= 'member'
ASSIGNEE_TYPE_PERMISSION
public
mixed
ASSIGNEE_TYPE_PERMISSION
= 'permission'
ASSIGNEE_TYPE_POLICY
public
mixed
ASSIGNEE_TYPE_POLICY
= 'policy'
ASSIGNEE_TYPE_ROLE
public
mixed
ASSIGNEE_TYPE_ROLE
= 'role'
COMPLETION_CONFIG_AUTO_COMPLETE
public
mixed
COMPLETION_CONFIG_AUTO_COMPLETE
= 'auto_complete_when_satisfied'
STATUS_CANCELLED
public
mixed
STATUS_CANCELLED
= 'cancelled'
STATUS_COMPLETED
public
mixed
STATUS_COMPLETED
= 'completed'
STATUS_OPEN
public
mixed
STATUS_OPEN
= 'open'
Properties
$action_item_logs
public
array<string|int, ActionItemLog>
$action_item_logs
$assignee_config
public
array<string|int, mixed>|null
$assignee_config
$assignee_lookup_branch_id
public
int|null
$assignee_lookup_branch_id
$assignee_lookup_id
public
int|null
$assignee_lookup_id
$assignee_lookup_name
public
string|null
$assignee_lookup_name
$assignee_lookup_type
public
string|null
$assignee_lookup_type
$assignee_type
public
string
$assignee_type
$branch_id
public
int|null
$branch_id
$completed_at
public
DateTime|null
$completed_at
$completed_by
public
int|null
$completed_by
$completed_by_member
public
Member|null
$completed_by_member
$completion_config
public
array<string|int, mixed>|null
$completion_config
$created
public
DateTime|null
$created
$created_by
public
int|null
$created_by
$deleted
public
DateTime|null
$deleted
$description
public
string|null
$description
$entity_id
public
int
$entity_id
$entity_type
public
string
$entity_type
$id
public
int
$id
$is_gating
public
bool
$is_gating
$modified
public
DateTime|null
$modified
$modified_by
public
int|null
$modified_by
$sort_order
public
int
$sort_order
$source_ref
public
string|null
$source_ref
$status
public
string
$status
$title
public
string
$title
$_accessible
protected
array<string, bool>
$_accessible
= ['entity_type' => true, 'entity_id' => true, 'title' => true, 'description' => true, 'assignee_type' => true, 'assignee_config' => true, 'assignee_lookup_type' => true, 'assignee_lookup_id' => true, 'assignee_lookup_name' => true, 'assignee_lookup_branch_id' => true, 'branch_id' => true, 'status' => true, 'is_gating' => true, 'is_terminal' => true, 'sort_order' => true, 'source_ref' => true, 'completion_config' => true, 'completed_at' => true, 'completed_by' => true, 'created' => true, 'modified' => true, 'created_by' => true, 'modified_by' => true, 'deleted' => true, 'completed_by_member' => true, 'action_item_logs' => true]
Methods
canAutoCompleteWhenRequirementsSatisfied()
Whether this to-do may be closed by the system once its requirements validate.
public
canAutoCompleteWhenRequirementsSatisfied() : bool
Return values
boolgetBranchId()
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
getRequiredFieldConfigs()
Return normalized completion-time required-field metadata.
public
getRequiredFieldConfigs() : array<int, array<string, mixed>>
Return values
array<int, array<string, mixed>>hasCompletionRequirements()
Whether the action item declares completion requirements.
public
hasCompletionRequirements() : bool
Return values
boolisCompleted()
Whether this item has been completed.
public
isCompleted() : bool
Return values
boolisOpen()
Whether this item is still open (actionable).
public
isOpen() : bool