## Script (Python) "getOrderedUserActions" ##bind container=container ##bind context=context ##bind namespace= ##bind script=script ##bind subpath=traverse_subpath ##parameters=keyed_actions=None, ordering=None ##title=Depending on the context return the actions for a personalbar ## if keyed_actions is None: keyed_actions=context.keyFilteredActions() if ordering is None: preordering=['mystuff', 'preferences', 'undo'] postordering=['configPortal', 'logout'] else: preordering=ordering['pre'] postordering=ordering['post'] totalordering=preordering+postordering ordered_actions=[] user_actions=keyed_actions['user'] for id in preordering: if user_actions.get(id, None) is not None: ordered_actions.append( user_actions[id].copy() ) ordered_actions+=[ action.copy() for action in user_actions.values() if action['id'] not in totalordering ] for id in postordering: if user_actions.get(id, None) is not None: ordered_actions.append( user_actions[id].copy() ) return ordered_actions