Example #1
0
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,
    }
Example #2
0
class EndIfAction(BaseAction):
    '''EndIf: end a condition'''
    itype = 'is.workflow.actions.conditional'
    keyword = 'endif'

    group_id = GroupIDField('GroupingIdentifier')

    default_fields = {
        'WFControlFlowMode': 2,
    }
Example #3
0
class ElseAction(BaseAction):
    '''Else'''
    itype = 'is.workflow.actions.conditional'
    keyword = 'else'

    group_id = GroupIDField('GroupingIdentifier')

    default_fields = {
        'WFControlFlowMode': 1,
    }
Example #4
0
class RepeatEndAction(BaseAction):
    '''Repeat'''
    itype = 'is.workflow.actions.repeat.count'
    keyword = 'repeat_end'

    group_id = GroupIDField('GroupingIdentifier')

    default_fields = {
        'WFControlFlowMode': 2,
    }
Example #5
0
class MenuEndAction(BaseAction):
    '''End menu'''
    itype = 'is.workflow.actions.choosefrommenu'
    keyword = 'end_menu'

    group_id = GroupIDField('GroupingIdentifier')

    default_fields = {
        'WFControlFlowMode': 2,
    }
Example #6
0
class RepeatStartAction(BaseAction):
    '''Repeat'''
    itype = 'is.workflow.actions.repeat.count'
    keyword = 'repeat_start'

    group_id = GroupIDField('GroupingIdentifier')
    count = IntegerField('WFRepeatCount')

    default_fields = {
        'WFControlFlowMode': 0,
    }
Example #7
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,
    }
Example #8
0
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,
    }
Example #9
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,
    }