Beispiel #1
0
def _initDCWorkflowWorklists( workflow, worklists ):

    """ Initialize DCWorkflow worklists
    """
    from Globals import PersistentMapping
    from Products.DCWorkflow.Worklists import WorklistDefinition

    for w_info in worklists:

        id = str( w_info[ 'worklist_id' ] ) # no unicode!
        if not workflow.worklists.has_key(id):
            w = WorklistDefinition(id)
            workflow.worklists._setObject(id, w)
        w = workflow.worklists._getOb( id )

        action = w_info[ 'action' ]

        guard = w_info[ 'guard' ]
        props = { 'guard_roles' : ';'.join( guard[ 'roles' ] )
                , 'guard_permissions' : ';'.join( guard[ 'permissions' ] )
                , 'guard_groups' : ';'.join( guard[ 'groups' ] )
                , 'guard_expr' : guard[ 'expression' ]
                }

        w.setProperties( description = w_info[ 'description' ]
                       , actbox_name = action[ 'name' ]
                       , actbox_url = action[ 'url' ]
                       , actbox_category = action[ 'category' ]
                       , props = props
                       )

        w.var_matches = PersistentMapping()
        for k, v in w_info[ 'match' ].items():
            w.var_matches[ str( k ) ] = tuple( [ str(x) for x in v ] )
Beispiel #2
0
def _initDCWorkflowWorklists(workflow, worklists):
    """ Initialize DCWorkflow worklists
    """
    from Globals import PersistentMapping
    from Products.DCWorkflow.Worklists import WorklistDefinition

    for w_info in worklists:

        id = str(w_info['worklist_id'])  # no unicode!
        if not workflow.worklists.has_key(id):
            w = WorklistDefinition(id)
            workflow.worklists._setObject(id, w)
        w = workflow.worklists._getOb(id)

        action = w_info['action']

        guard = w_info['guard']
        props = {
            'guard_roles': ';'.join(guard['roles']),
            'guard_permissions': ';'.join(guard['permissions']),
            'guard_groups': ';'.join(guard['groups']),
            'guard_expr': guard['expression']
        }

        w.setProperties(description=w_info['description'],
                        actbox_name=action['name'],
                        actbox_url=action['url'],
                        actbox_category=action['category'],
                        props=props)

        w.var_matches = PersistentMapping()
        for k, v in w_info['match'].items():
            w.var_matches[str(k)] = tuple([str(x) for x in v])
def _initDCWorkflowWorklists(workflow, worklists):

    """ Initialize DCWorkflow worklists
    """
    from Globals import PersistentMapping
    from Products.DCWorkflow.Worklists import WorklistDefinition

    for w_info in worklists:

        id = str(w_info["worklist_id"])  # no unicode!
        if not workflow.worklists.has_key(id):
            w = WorklistDefinition(id)
            workflow.worklists._setObject(id, w)
        w = workflow.worklists._getOb(id)

        action = w_info["action"]

        guard = w_info["guard"]
        props = {
            "guard_roles": ";".join(guard["roles"]),
            "guard_permissions": ";".join(guard["permissions"]),
            "guard_groups": ";".join(guard["groups"]),
            "guard_expr": guard["expression"],
        }

        w.setProperties(
            description=w_info["description"],
            actbox_name=action["name"],
            actbox_url=action["url"],
            actbox_category=action["category"],
            props=props,
        )

        w.var_matches = PersistentMapping()
        for k, v in w_info["match"].items():
            w.var_matches[str(k)] = tuple([str(x) for x in v])