Skip to main 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

Fields

FieldTypeRequiredDescriptionValidators
current_statestrName of the state (e.g., Draft, Approved)-
allow_editNoneRole allowed to edit in this state-
is_terminalboolWhether this is a final state-

Configuration

SettingValue
SubmittableFalse
Track ChangesTrue

Controller

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