def check_docstatus_transition(self, docstatus): if not self.docstatus: self.docstatus = 0 if docstatus == 0: if self.docstatus == 0: self._action = "save" elif self.docstatus == 1: self._action = "submit" self.check_permission("submit") else: raise frappe.DocstatusTransitionError( "Cannot change docstatus from 0 to 2") elif docstatus == 1: if self.docstatus == 1: self._action = "update_after_submit" self.check_permission("submit") elif self.docstatus == 2: self._action = "cancel" self.check_permission("cancel") else: raise frappe.DocstatusTransitionError( "Cannot change docstatus from 1 to 0") elif docstatus == 2: raise frappe.ValidationError
def check_docstatus_transition(self, docstatus): """Ensures valid `docstatus` transition. Valid transitions are (number in brackets is `docstatus`): - Save (0) > Save (0) - Save (0) > Submit (1) - Submit (1) > Submit (1) - Submit (1) > Cancel (2) """ if not self.docstatus: self.docstatus = 0 if docstatus==0: if self.docstatus==0: self._action = "save" elif self.docstatus==1: self._action = "submit" self.check_permission("submit") else: raise frappe.DocstatusTransitionError(_("Cannot change docstatus from 0 to 2")) elif docstatus==1: if self.docstatus==1: self._action = "update_after_submit" self.check_permission("submit") elif self.docstatus==2: self._action = "cancel" self.check_permission("cancel") else: raise frappe.DocstatusTransitionError(_("Cannot change docstatus from 1 to 0")) elif docstatus==2: raise frappe.ValidationError(_("Cannot edit cancelled document"))
def check_docstatus_transition(self, docstatus): """Ensures valid `docstatus` transition. Valid transitions are (number in brackets is `docstatus`): - Save (0) > Save (0) - Save (0) > Submit (1) - Submit (1) > Submit (1) - Submit (1) > Cancel (2) """ if not self.docstatus: self.docstatus = 0 if docstatus==0: if self.docstatus==0: self._action = "save" elif self.docstatus==1: self._action = "submit" self.check_permission("submit") else: raise frappe.DocstatusTransitionError(_("Draft Document cannot be cancelled. Please {0} the selected document before cancelling it.").format(frappe.bold(_("Submit")))) elif docstatus==1: if self.docstatus==1: self._action = "update_after_submit" self.check_permission("submit") elif self.docstatus==2: self._action = "cancel" self.check_permission("cancel") else: raise frappe.DocstatusTransitionError(_("Cannot change Document Status from Submitted to Draft.")) elif docstatus==2: raise frappe.ValidationError(_("Cancelled Document cannot be edited."))