WorkflowTransition
Defines an allowed transition in a workflow.
Attributes: workflow: Name of the workflow this transition belongs to from_state: Source state name to_state: Destination state name action: Action name that triggers this transition allowed_roles: List of roles permitted to perform this transition condition: Optional Python expression to evaluate before allowing transitionSource: workflow_transition.py
Fields
Section titled “Fields”| Field | Type | Required | Description | Validators |
|---|---|---|---|---|
| workflow | str | Workflow name | - | |
| from_state | str | Source state | - | |
| to_state | str | Destination state | - | |
| action | str | Transition action name | - | |
| allowed_roles | list[str] | Roles allowed to perform this transition | - | |
| condition | None | Optional Python expression for conditional transitions | - |
Permissions
Section titled “Permissions”| Role | Create | Delete | Read | Write |
|---|---|---|---|---|
| System Manager | ✓ | ✓ | ✓ | ✓ |
| Workflow Manager | ✓ | ✓ | ✓ | ✓ |
Configuration
Section titled “Configuration”| Setting | Value |
|---|---|
| Submittable | False |
| Track Changes | True |
Controller
Section titled “Controller”Controller hooks are implemented in *_controller.py files.
Available lifecycle hooks:
validate()- Called before save, raise exceptions for validation errorsbefore_insert()- Called before inserting a new documentafter_insert()- Called after successfully insertingbefore_save()- Called before saving (insert or update)after_save()- Called after savingbefore_delete()- Called before deletingafter_delete()- Called after deleting