[fix] rename company abbr
diff --git a/erpnext/setup/doctype/company/company.py b/erpnext/setup/doctype/company/company.py
index d358928..50f2865 100644
--- a/erpnext/setup/doctype/company/company.py
+++ b/erpnext/setup/doctype/company/company.py
@@ -27,8 +27,12 @@
return exists
def validate(self):
+ self.abbr = self.abbr.strip()
if self.get('__islocal') and len(self.abbr) > 5:
frappe.throw(_("Abbreviation cannot have more than 5 characters"))
+
+ if not self.abbr.strip():
+ frappe.throw(_("Abbr can not be blank or space"))
self.previous_default_currency = frappe.db.get_value("Company", self.name, "default_currency")
if self.default_currency and self.previous_default_currency and \
@@ -199,16 +203,19 @@
@frappe.whitelist()
def replace_abbr(company, old, new):
+ new = new.strip()
+ if not new:
+ frappe.throw(_("Abbr can not be blank or space"))
+
frappe.only_for("System Manager")
frappe.db.set_value("Company", company, "abbr", new)
def _rename_record(dt):
for d in frappe.db.sql("select name from `tab%s` where company=%s" % (dt, '%s'), company):
- parts = d[0].split(" - ")
- if parts[-1].lower() == old.lower():
- name_without_abbr = " - ".join(parts[:-1])
- frappe.rename_doc(dt, d[0], name_without_abbr + " - " + new)
+ parts = d[0].rsplit(" - ", 1)
+ if len(parts) == 1 or parts[1].lower() == old.lower():
+ frappe.rename_doc(dt, d[0], parts[0] + " - " + new)
for dt in ["Account", "Cost Center", "Warehouse"]:
_rename_record(dt)