Beispiel #1
0
def start_workflow(obj, sender, start_message_params=None):
    if start_message_params is None:
        start_message_params = {}
    workflow = get_workflow_by_instance(obj)

    if isinstance(workflow.start_workflow, basestring):
        start_message_id = workflow.start_workflow
    elif callable(workflow.start_workflow):
        start_message_id  = workflow.start_workflow(obj, sender)
    else:
        start_message_id  = DEFAULT_START_MESSAGE

    return dispatch.dispatch(obj, sender, start_message_id,
                                                start_message_params)
Beispiel #2
0
    def post(self, request, *args, **kwargs):

        view_obj = self.get_object()
        self.object = view_obj

        obj = self.get_yawf_object()

        if hasattr(obj, "get_clarified_instance"):
            obj = obj.get_clarified_instance()

        self.yawf_object = obj

        msg_id = self.get_message_id()
        sender = self.get_sender()

        try:
            obj, handler_result, effect_result = dispatch.dispatch(obj, sender, msg_id, self.request.POST)
        except BaseException as e:
            return self.process_exception(obj, sender, msg_id, e)
        else:
            return self.wrap_yawf_result(obj, handler_result, effect_result)