Skip to content

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

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 -
Setting Value
Submittable False
Track Changes True

Controller hooks are implemented in *_controller.py files. Available lifecycle hooks:

  • validate() - Called before save, raise exceptions for validation errors
  • before_insert() - Called before inserting a new document
  • after_insert() - Called after successfully inserting
  • before_save() - Called before saving (insert or update)
  • after_save() - Called after saving
  • before_delete() - Called before deleting
  • after_delete() - Called after deleting