mirror of
https://github.com/frappe/erpnext.git
synced 2026-04-22 16:18:30 +00:00
refactor!: remove abbreviation renaming (#28441)
This commit is contained in:
@@ -125,7 +125,8 @@
|
||||
"label": "Abbr",
|
||||
"oldfieldname": "abbr",
|
||||
"oldfieldtype": "Data",
|
||||
"reqd": 1
|
||||
"reqd": 1,
|
||||
"set_only_once": 1
|
||||
},
|
||||
{
|
||||
"depends_on": "eval:!doc.__islocal && in_list(frappe.user_roles, \"System Manager\")",
|
||||
|
||||
@@ -399,44 +399,6 @@ class Company(NestedSet):
|
||||
if not frappe.db.get_value('GL Entry', {'company': self.name}):
|
||||
frappe.db.sql("delete from `tabProcess Deferred Accounting` where company=%s", self.name)
|
||||
|
||||
@frappe.whitelist()
|
||||
def enqueue_replace_abbr(company, old, new):
|
||||
kwargs = dict(queue="long", company=company, old=old, new=new)
|
||||
frappe.enqueue('erpnext.setup.doctype.company.company.replace_abbr', **kwargs)
|
||||
|
||||
|
||||
@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")
|
||||
|
||||
def _rename_record(doc):
|
||||
parts = doc[0].rsplit(" - ", 1)
|
||||
if len(parts) == 1 or parts[1].lower() == old.lower():
|
||||
frappe.rename_doc(dt, doc[0], parts[0] + " - " + new, force=True)
|
||||
|
||||
def _rename_records(dt):
|
||||
# rename is expensive so let's be economical with memory usage
|
||||
doc = (d for d in frappe.db.sql("select name from `tab%s` where company=%s" % (dt, '%s'), company))
|
||||
for d in doc:
|
||||
_rename_record(d)
|
||||
try:
|
||||
frappe.db.auto_commit_on_many_writes = 1
|
||||
frappe.db.set_value("Company", company, "abbr", new)
|
||||
for dt in ["Warehouse", "Account", "Cost Center", "Department",
|
||||
"Sales Taxes and Charges Template", "Purchase Taxes and Charges Template"]:
|
||||
_rename_records(dt)
|
||||
frappe.db.commit()
|
||||
|
||||
except Exception:
|
||||
frappe.log_error(title=_('Abbreviation Rename Error'))
|
||||
finally:
|
||||
frappe.db.auto_commit_on_many_writes = 0
|
||||
|
||||
|
||||
def get_name_with_abbr(name, company):
|
||||
company_abbr = frappe.get_cached_value('Company', company, "abbr")
|
||||
parts = name.split(" - ")
|
||||
|
||||
Reference in New Issue
Block a user