Example #1
0
	def on_cancel(self):
		super(PurchaseInvoice, self).on_cancel()

		self.check_on_hold_or_closed_status()

		self.update_status_updater_args()
		self.update_prevdoc_status()

		if not self.is_return:
			self.update_billing_status_for_zero_amount_refdoc("Purchase Receipt")
			self.update_billing_status_for_zero_amount_refdoc("Purchase Order")

		self.update_billing_status_in_pr()

		# Updating stock ledger should always be called after updating prevdoc status,
		# because updating ordered qty in bin depends upon updated ordered qty in PO
		if self.update_stock == 1:
			self.update_stock_ledger()
			self.delete_auto_created_batches()

		self.make_gl_entries_on_cancel()
		self.update_project()
		frappe.db.set(self, 'status', 'Cancelled')

		unlink_inter_company_doc(self.doctype, self.name, self.inter_company_invoice_reference)
Example #2
0
    def on_cancel(self):
        super(PurchaseOrder, self).on_cancel()

        if self.is_against_so():
            self.update_status_updater()

        if self.has_drop_ship_item():
            self.update_delivered_qty_in_sales_order()

        if self.is_subcontracted == "Yes":
            self.update_reserved_qty_for_subcontract()

        self.check_on_hold_or_closed_status()

        frappe.db.set(self, "status", "Cancelled")

        self.update_prevdoc_status()

        # Must be called after updating ordered qty in Material Request
        # bin uses Material Request Items to recalculate & update
        self.update_requested_qty()
        self.update_ordered_qty()

        self.update_blanket_order()

        unlink_inter_company_doc(self.doctype, self.name,
                                 self.inter_company_order_reference)
    def on_cancel(self):
        super(CommissionAgentReport, self).on_cancel()

        # Cannot cancel closed SO
        if self.status == 'Closed':
            frappe.throw(
                _("Closed order cannot be cancelled. Unclose to cancel."))

        self.check_nextdoc_docstatus()
        self.update_project()

        frappe.db.set(self, 'status', 'Cancelled')

        unlink_inter_company_doc(self.doctype, self.name,
                                 self.inter_company_order_reference)
Example #4
0
	def on_cancel(self):
		super(SalesOrder, self).on_cancel()

		# Cannot cancel closed SO
		if self.status == 'Closed':
			frappe.throw(_("Closed order cannot be cancelled. Unclose to cancel."))

		self.check_nextdoc_docstatus()
		self.update_reserved_qty()
		self.update_project()
		self.update_prevdoc_status('cancel')

		frappe.db.set(self, 'status', 'Cancelled')

		self.update_blanket_order()

		unlink_inter_company_doc(self.doctype, self.name, self.inter_company_order_reference)
Example #5
0
	def on_cancel(self):
		self.ignore_linked_doctypes = ('GL Entry', 'Stock Ledger Entry')
		super(SalesOrder, self).on_cancel()

		# Cannot cancel closed SO
		if self.status == 'Closed':
			frappe.throw(_("Closed order cannot be cancelled. Unclose to cancel."))

		self.check_nextdoc_docstatus()
		self.update_reserved_qty()
		self.update_project()
		self.update_prevdoc_status('cancel')

		frappe.db.set(self, 'status', 'Cancelled')

		self.update_blanket_order()

		unlink_inter_company_doc(self.doctype, self.name, self.inter_company_order_reference)
		if self.coupon_code:
			from erpnext.accounts.doctype.pricing_rule.utils import update_coupon_code_count
			update_coupon_code_count(self.coupon_code,'cancelled')