Override after_rename method to fetch cost center number on changing from title

This commit is contained in:
deepak-mnt 2018-04-26 17:04:06 +05:30
parent b379998961
commit b712d1905d

View File

@ -63,8 +63,25 @@ class CostCenter(NestedSet):
super(CostCenter, self).after_rename(olddn, newdn, merge)
if not merge:
frappe.db.set_value("Cost Center", newdn, "cost_center_name",
" - ".join(newdn.split(" - ")[:-1]))
new_cost_center = frappe.db.get_value("Cost Center", newdn, ["cost_center_name", "cost_center_number"], as_dict=1)
# exclude company abbr
new_parts = newdn.split(" - ")[:-1]
# update cost center number and remove from parts
if new_parts[0][0].isdigit():
if len(new_parts) == 1:
new_parts = newdn.split(" ")
if new_cost_center.cost_center_number != new_parts[0]:
validate_field_number("Cost Center", self.name, new_parts[0], self.company, "cost_center_number")
self.cost_center_number = new_parts[0]
self.db_set("cost_center_number", new_parts[0])
new_parts = new_parts[1:]
# update cost center name
cost_center_name = " - ".join(new_parts)
if new_cost_center.cost_center_name != cost_center_name:
self.cost_center_name = cost_center_name
self.db_set("cost_center_name", cost_center_name)
def on_doctype_update():
frappe.db.add_index("Cost Center", ["lft", "rgt"])