fix: Cascade deletion for Company

This commit is contained in:
Deepesh Garg
2021-08-12 17:37:38 +05:30
parent efc76f4245
commit b74db6f2b8
3 changed files with 21 additions and 1 deletions

View File

@@ -300,6 +300,9 @@ doc_events = {
},
('Quotation', 'Sales Order', 'Sales Invoice'): {
'validate': ["erpnext.erpnext_integrations.taxjar_integration.set_sales_tax"]
},
"Company": {
"on_trash": "erpnext.regional.india.utils.delete_gst_settings_for_company"
}
}

View File

@@ -849,4 +849,17 @@ def get_depreciation_amount(asset, depreciable_value, row):
depreciation_amount = flt(depreciable_value * (flt(rate_of_depreciation) / 100))
return depreciation_amount
return depreciation_amount
def delete_gst_settings_for_company(doc, method):
if doc.country != 'India':
return
gst_settings = frappe.get_doc("GST Settings")
for d in reversed(gst_settings.get('gst_accounts')):
if d.company == doc.name:
gst_settings.remove(d)
gst_settings.save()

View File

@@ -393,6 +393,10 @@ class Company(NestedSet):
frappe.db.sql("delete from `tabPurchase Taxes and Charges Template` where company=%s", self.name)
frappe.db.sql("delete from `tabItem Tax Template` where company=%s", self.name)
# delete Process Deferred Accounts if no GL Entry found
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)