示例#1
0
    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
示例#2
0
	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"))
示例#3
0
	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."))