def setupActions(self): return wf = self.wf = interfaces.IWorkflowInfo(self.context, None) if wf is not None: transitions = self.wf.getManualTransitionIds() self.actions = tuple(bindTransitions( self, transitions, None, interfaces.IWorkflow( self.context)))
def setupActions(self): return # !+ ?? wfc = interfaces.IWorkflowController(self.context, None) if wfc is not None: transitions = wfc.getManualTransitionIds() self.actions = tuple( bindTransitions(self, transitions, wfc.workflow))
def __call__(self, headless=False, transition=None): method = self.request["REQUEST_METHOD"] if transition: wf = interfaces.IWorkflow(self.context) state_transition = wf.getTransitionById(transition) require_confirmation = getattr(state_transition, "require_confirmation", False) self.update(transition) else: self.update() if transition and require_confirmation is False and method == "POST": actions = bindTransitions(self.action_viewlet, (transition,), None, interfaces.IWorkflow(self.context)) assert len(actions) == 1 # execute action result = actions[0].success({}) if headless is True: actions = get_actions("context_workflow", self.context, self.request) state_title = IWorkflowInfo(self.context).workflow().workflow.states[self.context.status].title result = self.ajax_template(actions=actions, state_title=state_title) if require_confirmation is True: self.request.response.setStatus(403) else: self.request.response.setStatus(200) self.request.response.setResult(result) self.request.response.setHeader("Content-Type", "text/xml") return result template = self.template() return template
def setupActions(self, transition_id): # !+RENAME(mr, apr-2011) should be transition_id wfc = interfaces.IWorkflowController(self.context) if transition_id is None: transition_ids = wfc.getManualTransitionIds() else: transition_ids = (transition_id, ) self.actions = bindTransitions(self, transition_ids, wfc.workflow)
def setupActions(self, transition): self.wf = interfaces.IWorkflowInfo(self.context) if transition is None: transitions = self.wf.getManualTransitionIds() else: transitions = (transition, ) self.actions = bindTransitions(self, transitions, None, interfaces.IWorkflow(self.context))
def setupActions(self): return wf = self.wf = interfaces.IWorkflowInfo(self.context, None) if wf is not None: transitions = self.wf.getManualTransitionIds() self.actions = tuple( bindTransitions(self, transitions, None, interfaces.IWorkflow(self.context)))
def setupActions(self, transition_id): # !+RENAME(mr, apr-2011) should be transition_id wfc = interfaces.IWorkflowController(self.context) if transition_id is None: transition_ids = wfc.getManualTransitionIds() else: transition_ids = (transition_id,) self.actions = bindTransitions(self, transition_ids, wfc.workflow)
def setupActions(self, transition): self.wf = interfaces.IWorkflowInfo(self.context) if transition is None: transitions = self.wf.getManualTransitionIds() else: transitions = (transition,) self.actions = bindTransitions( self, transitions, None, interfaces.IWorkflow(self.context))
def setupActions(self, transition): # !+RENAME(mr, apr-2011) should be transition_id wfc = interfaces.IWorkflowController(self.context) if transition is None: transitions = wfc.getManualTransitionIds() else: transitions = (transition,) self.actions = bindTransitions(self, transitions, None, wfc.workflow) if IWorkspaceContainer.providedBy(self.context.__parent__): self._next_url = absoluteURL(self.context.__parent__, self.request)
def __call__(self, transition_id=None, headless=False): # parameters coming in via URL querystring or post vars ! method = self.request["REQUEST_METHOD"] # !+ALWAYS_POST(mr, sep-2011) requests coming from link clicks (GETs) # from the bungeni Web UI seem to always be intercepted and switched # into POSTs. workflow = interfaces.IWorkflow(self.context) require_confirmation = True if transition_id is not None: self.update(transition_id) require_confirmation = workflow.get_transition( transition_id).require_confirmation else: self.update() if (ILegislativeContent.providedBy(self.context) and get_mask(self.context) == "manual" and not self.context.registry_number): require_confirmation = True if (not require_confirmation and method == "POST"): actions = bindTransitions(self.action_viewlet, (transition_id, ), workflow) assert len(actions) == 1 # execute action # !+ should pass self.request.form as data? e.g. value is: # {u"next_url": u"...", u"transition": u"submit_response"} result = actions[0].success({}) # !+UNUSED(mr, jun-2011) this result is never used! if headless: actions = get_actions("context_workflow", self.context, self.request) state_title = workflow.get_state(self.context.status).title result = self.ajax_template(actions=actions, state_title=state_title) if require_confirmation: self.request.response.setStatus(403) else: self.request.response.setStatus(200) self.request.response.setResult(result) self.request.response.setHeader("Content-Type", "text/xml") return result template = self.template() return template
def __call__(self, transition_id=None, headless=False): # parameters coming in via URL querystring or post vars ! method = self.request["REQUEST_METHOD"] # !+ALWAYS_POST(mr, sep-2011) requests coming from link clicks (GETs) # from the bungeni Web UI seem to always be intercepted and switched # into POSTs. workflow = interfaces.IWorkflow(self.context) require_confirmation = True if transition_id is not None: self.update(transition_id) require_confirmation = workflow.get_transition(transition_id ).require_confirmation else: self.update() if (ILegislativeContent.providedBy(self.context) and get_mask(self.context) == "manual" and not self.context.registry_number ): require_confirmation = True if (not require_confirmation and method == "POST"): actions = bindTransitions( self.action_viewlet, (transition_id,), workflow) assert len(actions) == 1 # execute action # !+ should pass self.request.form as data? e.g. value is: # {u"next_url": u"...", u"transition": u"submit_response"} result = actions[0].success({}) # !+UNUSED(mr, jun-2011) this result is never used! if headless: actions = get_actions("context_workflow", self.context, self.request) state_title = workflow.get_state(self.context.status).title result = self.ajax_template(actions=actions, state_title=state_title) if require_confirmation: self.request.response.setStatus(403) else: self.request.response.setStatus(200) self.request.response.setResult(result) self.request.response.setHeader("Content-Type", "text/xml") return result template = self.template() return template
def __call__(self, headless=False, transition=None): # !+RENAME(mr, apr-2011) should be transition_id method = self.request["REQUEST_METHOD"] workflow = interfaces.IWorkflow(self.context) # !+REWITE(mr, jun-2011) the following needs to be rewritten! if transition: state_transition = workflow.get_transition(transition) require_confirmation = getattr(state_transition, "require_confirmation", False) self.update(transition) else: self.update() if transition and require_confirmation is False and method == "POST": actions = bindTransitions(self.action_viewlet, (transition, ), None, workflow) assert len(actions) == 1 # execute action # !+ should pass self.request.form as data? e.g. value is: # {u"next_url": u"...", u"transition": u"submit_response"} result = actions[0].success({}) # !+REWITE(mr, jun-2011) this result is never used! if headless is True: actions = get_actions("context_workflow", self.context, self.request) state_title = workflow.get_state(self.context.status).title result = self.ajax_template(actions=actions, state_title=state_title) # !+REWITE(mr, jun-2011) require_confirmation only defined when # transition is True! if require_confirmation is True: self.request.response.setStatus(403) else: self.request.response.setStatus(200) self.request.response.setResult(result) self.request.response.setHeader("Content-Type", "text/xml") return result template = self.template() return template
def __call__(self, headless=False, transition=None): # !+RENAME(mr, apr-2011) should be transition_id method = self.request["REQUEST_METHOD"] workflow = interfaces.IWorkflow(self.context) # !+REWITE(mr, jun-2011) the following needs to be rewritten! if transition: state_transition = workflow.get_transition(transition) require_confirmation = getattr( state_transition, "require_confirmation", False) self.update(transition) else: self.update() if transition and require_confirmation is False and method == "POST": actions = bindTransitions( self.action_viewlet, (transition,), None, workflow) assert len(actions) == 1 # execute action # !+ should pass self.request.form as data? e.g. value is: # {u"next_url": u"...", u"transition": u"submit_response"} result = actions[0].success({}) # !+REWITE(mr, jun-2011) this result is never used! if headless is True: actions = get_actions("context_workflow", self.context, self.request) state_title = workflow.get_state(self.context.status).title result = self.ajax_template(actions=actions, state_title=state_title) # !+REWITE(mr, jun-2011) require_confirmation only defined when # transition is True! if require_confirmation is True: self.request.response.setStatus(403) else: self.request.response.setStatus(200) self.request.response.setResult(result) self.request.response.setHeader("Content-Type", "text/xml") return result template = self.template() return template
def __call__(self, headless=False, transition=None): method = self.request["REQUEST_METHOD"] if transition: wf = interfaces.IWorkflow(self.context) state_transition = wf.getTransitionById(transition) require_confirmation = getattr(state_transition, "require_confirmation", False) self.update(transition) else: self.update() if transition and require_confirmation is False and method == "POST": actions = bindTransitions(self.action_viewlet, (transition, ), None, interfaces.IWorkflow(self.context)) assert len(actions) == 1 # execute action # !+ should pass self.request.form as data? e.g. value is: # {u"next_url": u"...", u"transition": u"submit_response"} result = actions[0].success({}) if headless is True: actions = get_actions("context_workflow", self.context, self.request) state_title = IWorkflowInfo( self.context).workflow().workflow.states[ self.context.status].title result = self.ajax_template(actions=actions, state_title=state_title) if require_confirmation is True: self.request.response.setStatus(403) else: self.request.response.setStatus(200) self.request.response.setResult(result) self.request.response.setHeader("Content-Type", "text/xml") return result template = self.template() return template