Skip to content

Process ​

File: src/Entities/Process.php
Namespace: Unusualify\Modularous\Entities
Extends: Illuminate\Database\Eloquent\Model
Traits: ProcessScopes

Tracks a state-machine workflow instance attached to a parent model via a morph relation. The ProcessStatus enum drives the available statuses and their presentation (labels, colours, icons, dialog copy).

Fillable Attributes ​

AttributeTypeDescription
processable_idintParent model ID
processable_typestringParent model class
statusProcessStatusCurrent status (enum cast)
reasonstringOptional reason for the current status

Relationships ​

processable(): MorphTo ​

The parent model this process belongs to.

histories(): HasMany ​

All status-change history records for this process.

lastHistory(): HasOne ​

The most recent history entry (latest() on created_at).

Accessors ​

AccessorTypeSource
status_labelstringProcessStatus::label()
status_colorstringProcessStatus::color()
status_iconstringProcessStatus::icon()
status_card_variantstringProcessStatus::cardVariant()
status_card_colorstringProcessStatus::cardColor()
status_reason_labelstringProcessStatus::statusReasonLabel()
status_informational_messagestringProcessStatus::informationalMessage()
next_action_labelstringProcessStatus::nextActionLabel()
next_action_colorstringProcessStatus::nextActionColor()
status_dialog_titlesarrayTitle for each status value
status_dialog_messagesarrayConfirmation messages for each status transition

ProcessStatus Enum Values ​

PREPARING, WAITING_FOR_CONFIRMATION, WAITING_FOR_REACTION, REJECTED, CONFIRMED