WorkflowStateDefinition
A single state within a workflow blueprint.
This is a child table for the Workflow DocType.
Attributes:
state_name: Name of the state (e.g., Draft, Approved)
allow_edit: Role allowed to edit documents when in this state
is_terminal: Whether this is a final state (no further transitions)
Source: workflow_state_definition.py
Fields
| Field | Type | Required | Description | Validators |
|---|---|---|---|---|
| current_state | str | Name of the state (e.g., Draft, Approved) | - | |
| allow_edit | None | Role allowed to edit in this state | - | |
| is_terminal | bool | Whether this is a final state | - |
Configuration
| Setting | Value |
|---|---|
| Submittable | False |
| Track Changes | True |
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