def reply(self): policy = ICheckinCheckoutPolicy(self.context) working_copy = policy.getWorkingCopy() if not policy.getBaseline(): # We are in the baseline, get the working copy policy policy = ICheckinCheckoutPolicy(working_copy) control = getMultiAdapter((working_copy, self.request), name="iterate_control") if not control.cancel_allowed(): return self._error(403, "Not authorized", "Cancel not allowed") baseline = policy.cancelCheckout() baseline.reindexObject() return self.reply_no_content()
def __call__(self): context = aq_inner(self.context) if self.request.form.has_key('form.button.Cancel'): control = getMultiAdapter((context, self.request), name=u"iterate_control") if not control.cancel_allowed(): raise CheckoutException(u"Not a checkout") policy = ICheckinCheckoutPolicy(context) baseline = policy.cancelCheckout() baseline.reindexObject() IStatusMessage(self.request).addStatusMessage(_(u"Checkout cancelled"), type='info') view_url = baseline.restrictedTraverse("@@plone_context_state").view_url() self.request.response.redirect(view_url) elif self.request.form.has_key('form.button.Keep'): view_url = context.restrictedTraverse("@@plone_context_state").view_url() self.request.response.redirect(view_url) else: return self.template()
def __call__(self): context = aq_inner(self.context) if 'form.button.Cancel' in self.request.form: control = getMultiAdapter((context, self.request), name=u'iterate_control') if not control.cancel_allowed(): raise CheckoutException(u'Not a checkout') policy = ICheckinCheckoutPolicy(context) baseline = policy.cancelCheckout() baseline.reindexObject() IStatusMessage(self.request).addStatusMessage( _(u'Checkout cancelled'), type='info') view_url = baseline.restrictedTraverse( '@@plone_context_state').view_url() self.request.response.redirect(view_url) elif 'form.button.Keep' in self.request.form: view_url = context.restrictedTraverse( '@@plone_context_state').view_url() self.request.response.redirect(view_url) else: return self.index()
def do_cancel(self, working_copy): policy = ICheckinCheckoutPolicy(working_copy) policy.cancelCheckout()