From 452584c4bd512f1eb0e80acbab5fd1dc0982fc9c Mon Sep 17 00:00:00 2001 From: ruthra kumar Date: Thu, 28 Jul 2022 07:11:16 +0530 Subject: [PATCH 1/2] fix: add asset repair to accounting dimension list --- erpnext/hooks.py | 1 + 1 file changed, 1 insertion(+) diff --git a/erpnext/hooks.py b/erpnext/hooks.py index aa10e31744..c4f0c59c38 100644 --- a/erpnext/hooks.py +++ b/erpnext/hooks.py @@ -507,6 +507,7 @@ accounting_dimension_doctypes = [ "Shipping Rule", "Landed Cost Item", "Asset Value Adjustment", + "Asset Repair", "Loyalty Program", "Stock Reconciliation", "POS Profile", From 80f508c4b12ddfead304674a7eea0f8a7cadbc19 Mon Sep 17 00:00:00 2001 From: ruthra kumar Date: Thu, 4 Aug 2022 16:48:03 +0530 Subject: [PATCH 2/2] chore: patch for creating existing dimensions in asset repair --- erpnext/patches.txt | 1 + ..._accounting_dimensions_for_asset_repair.py | 29 +++++++++++++++++++ 2 files changed, 30 insertions(+) create mode 100644 erpnext/patches/v13_0/create_accounting_dimensions_for_asset_repair.py diff --git a/erpnext/patches.txt b/erpnext/patches.txt index 1d5f5d7f99..c7dc27e294 100644 --- a/erpnext/patches.txt +++ b/erpnext/patches.txt @@ -268,6 +268,7 @@ erpnext.patches.v13_0.enable_ksa_vat_docs #1 erpnext.patches.v13_0.show_india_localisation_deprecation_warning erpnext.patches.v13_0.show_hr_payroll_deprecation_warning erpnext.patches.v13_0.reset_corrupt_defaults +erpnext.patches.v13_0.create_accounting_dimensions_for_asset_repair [post_model_sync] execute:frappe.delete_doc_if_exists('Workspace', 'ERPNext Integrations Settings') diff --git a/erpnext/patches/v13_0/create_accounting_dimensions_for_asset_repair.py b/erpnext/patches/v13_0/create_accounting_dimensions_for_asset_repair.py new file mode 100644 index 0000000000..61a5c86386 --- /dev/null +++ b/erpnext/patches/v13_0/create_accounting_dimensions_for_asset_repair.py @@ -0,0 +1,29 @@ +import frappe +from frappe.custom.doctype.custom_field.custom_field import create_custom_field + + +def execute(): + accounting_dimensions = frappe.db.get_all( + "Accounting Dimension", fields=["fieldname", "label", "document_type", "disabled"] + ) + + if not accounting_dimensions: + return + + for d in accounting_dimensions: + doctype = "Asset Repair" + field = frappe.db.get_value("Custom Field", {"dt": doctype, "fieldname": d.fieldname}) + + if field: + continue + + df = { + "fieldname": d.fieldname, + "label": d.label, + "fieldtype": "Link", + "options": d.document_type, + "insert_after": "accounting_dimensions_section", + } + + create_custom_field(doctype, df, ignore_validate=True) + frappe.clear_cache(doctype=doctype)