fix(coa_importer): allow importing COA through import_coa only for Accounts Manager (backport #56132) (#58064)

Co-authored-by: Pratheep S <pratheeps2024@gmail.com>
This commit is contained in:
Diptanil Saha
2026-08-12 02:46:40 +05:30
committed by GitHub
parent 01372cf295
commit 00d8dc73b9

View File

@@ -75,7 +75,10 @@ def validate_company(company):
@frappe.whitelist() @frappe.whitelist()
def import_coa(file_name, company): def import_coa(file_name, company):
frappe.only_for("Accounts Manager")
# delete existing data for accounts # delete existing data for accounts
frappe.has_permission("Company", "write", company, throw=True)
unset_existing_data(company) unset_existing_data(company)
# create accounts # create accounts
@@ -452,6 +455,7 @@ def unset_existing_data(company):
fieldnames = get_linked_fields("Account").get("Company", {}).get("fieldname", []) fieldnames = get_linked_fields("Account").get("Company", {}).get("fieldname", [])
linked = [{"fieldname": name} for name in fieldnames] linked = [{"fieldname": name} for name in fieldnames]
update_values = {d.get("fieldname"): "" for d in linked} update_values = {d.get("fieldname"): "" for d in linked}
frappe.db.set_value("Company", company, update_values, update_values) frappe.db.set_value("Company", company, update_values, update_values)
# remove accounts data from various doctypes # remove accounts data from various doctypes