fix: Avoid changing Ref. Doctype in Accounting Dimension after creation

This commit is contained in:
marination 2021-02-08 17:06:23 +05:30
parent f29b811a56
commit 5a7ddba9a3
2 changed files with 12 additions and 1 deletions

View File

@ -30,6 +30,7 @@
"fieldtype": "Link", "fieldtype": "Link",
"label": "Reference Document Type", "label": "Reference Document Type",
"options": "DocType", "options": "DocType",
"read_only_depends_on": "eval:!doc.__islocal",
"reqd": 1 "reqd": 1
}, },
{ {
@ -48,7 +49,7 @@
} }
], ],
"links": [], "links": [],
"modified": "2020-03-22 20:34:39.805728", "modified": "2021-02-08 16:37:53.936656",
"modified_by": "Administrator", "modified_by": "Administrator",
"module": "Accounts", "module": "Accounts",
"name": "Accounting Dimension", "name": "Accounting Dimension",

View File

@ -29,6 +29,16 @@ class AccountingDimension(Document):
if exists and self.is_new(): if exists and self.is_new():
frappe.throw("Document Type already used as a dimension") frappe.throw("Document Type already used as a dimension")
if not self.is_new():
self.validate_document_type_change()
def validate_document_type_change(self):
doctype_before_save = frappe.db.get_value("Accounting Dimension", self.name, "document_type")
if doctype_before_save != self.document_type:
message = _("Cannot change Reference Document Type.")
message += _("Please create a new Accounting Dimension if required.")
frappe.throw(message)
def after_insert(self): def after_insert(self):
if frappe.flags.in_test: if frappe.flags.in_test:
make_dimension_in_accounting_doctypes(doc=self) make_dimension_in_accounting_doctypes(doc=self)