[fix][#1769] Add disable option to Sales/Purchase Tax Master with validation
diff --git a/erpnext/controllers/accounts_controller.py b/erpnext/controllers/accounts_controller.py
index b7e68d3..7a0b51a 100644
--- a/erpnext/controllers/accounts_controller.py
+++ b/erpnext/controllers/accounts_controller.py
@@ -26,6 +26,9 @@
if self.meta.get_field("is_recurring"):
validate_recurring_document(self)
+ if self.meta.get_field("taxes_and_charges"):
+ self.validate_enabled_taxes_and_charges()
+
def on_submit(self):
if self.meta.get_field("is_recurring"):
convert_to_recurring(self, self.get("posting_date") or self.get("transaction_date"))
@@ -342,6 +345,11 @@
self.precision(base_field, item))
item.set(base_field, value_in_company_currency)
+ def validate_enabled_taxes_and_charges(self):
+ taxes_and_charges_doctype = self.meta.get_options("taxes_and_charges")
+ if frappe.db.get_value(taxes_and_charges_doctype, self.taxes_and_charges, "disabled"):
+ frappe.throw(_("{0} '{1}' is disabled").format(taxes_and_charges_doctype, self.taxes_and_charges))
+
def calculate_total_advance(self, parenttype, advance_parentfield):
if self.doctype == parenttype and self.docstatus < 2:
sum_of_allocated_amount = sum([flt(adv.allocated_amount, self.precision("allocated_amount", adv))