class MenuStartAction(BaseAction): ''' Start menu To build a menu, you have to write at least three actions: * Start menu * Menu item * End menu So the menu with two items will look like: ``` Start menu Menu item title=1 ... some actions... Menu item title=2 ...other actions... End menu ``` As in other actions which have `group_id` field, you don't need to specify it, it will be generated automatically. ''' itype = 'is.workflow.actions.choosefrommenu' keyword = 'start_menu' group_id = GroupIDField('GroupingIdentifier') menu_items = ArrayField('WFMenuItems') default_fields = { 'WFControlFlowMode': 0, }
class EndIfAction(BaseAction): '''EndIf: end a condition''' itype = 'is.workflow.actions.conditional' keyword = 'endif' group_id = GroupIDField('GroupingIdentifier') default_fields = { 'WFControlFlowMode': 2, }
class ElseAction(BaseAction): '''Else''' itype = 'is.workflow.actions.conditional' keyword = 'else' group_id = GroupIDField('GroupingIdentifier') default_fields = { 'WFControlFlowMode': 1, }
class RepeatEndAction(BaseAction): '''Repeat''' itype = 'is.workflow.actions.repeat.count' keyword = 'repeat_end' group_id = GroupIDField('GroupingIdentifier') default_fields = { 'WFControlFlowMode': 2, }
class MenuEndAction(BaseAction): '''End menu''' itype = 'is.workflow.actions.choosefrommenu' keyword = 'end_menu' group_id = GroupIDField('GroupingIdentifier') default_fields = { 'WFControlFlowMode': 2, }
class RepeatStartAction(BaseAction): '''Repeat''' itype = 'is.workflow.actions.repeat.count' keyword = 'repeat_start' group_id = GroupIDField('GroupingIdentifier') count = IntegerField('WFRepeatCount') default_fields = { 'WFControlFlowMode': 0, }
class RepeatEachEndAction(BaseAction): '''Repeat with each end''' itype = 'is.workflow.actions.repeat.each' keyword = 'repeat_with_each_end' _additional_identifier_field = 'WFControlFlowMode' group_id = GroupIDField('GroupingIdentifier') default_fields = { 'WFControlFlowMode': 2, }
class IfAction(BaseAction): '''If''' itype = 'is.workflow.actions.conditional' keyword = 'if' condition = ChoiceField('WFCondition', choices=IF_CHOICES, capitalize=True) compare_with = Field('WFConditionalActionString') group_id = GroupIDField('GroupingIdentifier') default_fields = { 'WFControlFlowMode': 0, }
class MenuItemAction(BaseAction): ''' Menu item You must specify the title for the item. After this action write all actions which you want to be executed when a user selects this option in the menu. ''' itype = 'is.workflow.actions.choosefrommenu' keyword = 'menu_item' group_id = GroupIDField('GroupingIdentifier') title = Field('WFMenuItemTitle') default_fields = { 'WFControlFlowMode': 1, }