From 806f7e5eef1fb220ee00889e3aba765f7d4f0deb Mon Sep 17 00:00:00 2001 From: Rucha Mahabal Date: Fri, 24 Feb 2023 11:32:46 +0530 Subject: [PATCH] fix(patch): create only 80G custom fields instead of running the whole setup (#34183) --- ...fields_for_80g_certificate_and_donation.py | 59 ++++++++++++++++--- 1 file changed, 52 insertions(+), 7 deletions(-) diff --git a/erpnext/patches/v13_0/setup_fields_for_80g_certificate_and_donation.py b/erpnext/patches/v13_0/setup_fields_for_80g_certificate_and_donation.py index 1c36b536841..ae76c3d023c 100644 --- a/erpnext/patches/v13_0/setup_fields_for_80g_certificate_and_donation.py +++ b/erpnext/patches/v13_0/setup_fields_for_80g_certificate_and_donation.py @@ -1,16 +1,61 @@ import frappe - -from erpnext.regional.india.setup import make_custom_fields +from frappe.custom.doctype.custom_field.custom_field import create_custom_fields def execute(): if frappe.get_all("Company", filters={"country": "India"}): - frappe.reload_doc("accounts", "doctype", "POS Invoice") - frappe.reload_doc("accounts", "doctype", "POS Invoice Item") - - make_custom_fields() + custom_fields = get_non_profit_custom_fields() + create_custom_fields(custom_fields, update=True) if not frappe.db.exists("Party Type", "Donor"): frappe.get_doc( {"doctype": "Party Type", "party_type": "Donor", "account_type": "Receivable"} - ).insert(ignore_permissions=True) + ).insert(ignore_permissions=True, ignore_mandatory=True) + + +def get_non_profit_custom_fields(): + return { + "Company": [ + { + "fieldname": "non_profit_section", + "label": "Non Profit Settings", + "fieldtype": "Section Break", + "insert_after": "asset_received_but_not_billed", + "collapsible": 1, + }, + { + "fieldname": "company_80g_number", + "label": "80G Number", + "fieldtype": "Data", + "insert_after": "non_profit_section", + }, + { + "fieldname": "with_effect_from", + "label": "80G With Effect From", + "fieldtype": "Date", + "insert_after": "company_80g_number", + }, + { + "fieldname": "pan_details", + "label": "PAN Number", + "fieldtype": "Data", + "insert_after": "with_effect_from", + }, + ], + "Member": [ + { + "fieldname": "pan_number", + "label": "PAN Details", + "fieldtype": "Data", + "insert_after": "email_id", + }, + ], + "Donor": [ + { + "fieldname": "pan_number", + "label": "PAN Details", + "fieldtype": "Data", + "insert_after": "email", + }, + ], + }