From 90eb046ce646300d4c521ca3c7c5487b674ae9ae Mon Sep 17 00:00:00 2001 From: Dany Robert Date: Thu, 6 Jan 2022 18:15:40 +0530 Subject: [PATCH 1/4] fix: remove unwanted fields from KSA setup --- erpnext/regional/saudi_arabia/setup.py | 60 +++++++++++++++++++++++++- 1 file changed, 58 insertions(+), 2 deletions(-) diff --git a/erpnext/regional/saudi_arabia/setup.py b/erpnext/regional/saudi_arabia/setup.py index 2e31c03d5c6..8f2ad5cfeb0 100644 --- a/erpnext/regional/saudi_arabia/setup.py +++ b/erpnext/regional/saudi_arabia/setup.py @@ -3,16 +3,72 @@ import frappe from frappe.permissions import add_permission, update_permission_property -from erpnext.regional.united_arab_emirates.setup import make_custom_fields as uae_custom_fields from erpnext.regional.saudi_arabia.wizard.operations.setup_ksa_vat_setting import create_ksa_vat_setting from frappe.custom.doctype.custom_field.custom_field import create_custom_fields def setup(company=None, patch=True): - uae_custom_fields() + make_custom_fields() add_print_formats() add_permissions() make_custom_fields() +def make_custom_fields(): + is_zero_rated = dict(fieldname='is_zero_rated', label='Is Zero Rated', + fieldtype='Check', fetch_from='item_code.is_zero_rated', insert_after='description', + print_hide=1) + + is_exempt = dict(fieldname='is_exempt', label='Is Exempt', + fieldtype='Check', fetch_from='item_code.is_exempt', insert_after='is_zero_rated', + print_hide=1) + + purchase_invoice_fields = [ + dict(fieldname='company_trn', label='Company TRN', + fieldtype='Read Only', insert_after='shipping_address', + fetch_from='company.tax_id', print_hide=1), + dict(fieldname='supplier_name_in_arabic', label='Supplier Name in Arabic', + fieldtype='Read Only', insert_after='supplier_name', + fetch_from='supplier.supplier_name_in_arabic', print_hide=1) + ] + + sales_invoice_fields = [ + dict(fieldname='company_trn', label='Company TRN', + fieldtype='Read Only', insert_after='company_address', + fetch_from='company.tax_id', print_hide=1), + dict(fieldname='customer_name_in_arabic', label='Customer Name in Arabic', + fieldtype='Read Only', insert_after='customer_name', + fetch_from='customer.customer_name_in_arabic', print_hide=1) + ] + + custom_fields = { + 'Item': [is_zero_rated, is_exempt], + 'Customer': [ + dict(fieldname='customer_name_in_arabic', label='Customer Name in Arabic', + fieldtype='Data', insert_after='customer_name'), + ], + 'Supplier': [ + dict(fieldname='supplier_name_in_arabic', label='Supplier Name in Arabic', + fieldtype='Data', insert_after='supplier_name'), + ], + 'Purchase Invoice': purchase_invoice_fields, + 'Purchase Order': purchase_invoice_fields, + 'Purchase Receipt': purchase_invoice_fields, + 'Sales Invoice': sales_invoice_fields, + 'POS Invoice': sales_invoice_fields, + 'Sales Order': sales_invoice_fields, + 'Delivery Note': sales_invoice_fields, + 'Sales Invoice Item': [is_zero_rated, is_exempt], + 'POS Invoice Item': [is_zero_rated, is_exempt], + 'Purchase Invoice Item': [is_zero_rated, is_exempt], + 'Sales Order Item': [is_zero_rated, is_exempt], + 'Delivery Note Item': [is_zero_rated, is_exempt], + 'Quotation Item': [is_zero_rated, is_exempt], + 'Purchase Order Item': [is_zero_rated, is_exempt], + 'Purchase Receipt Item': [is_zero_rated, is_exempt], + 'Supplier Quotation Item': [is_zero_rated, is_exempt], + } + + create_custom_fields(custom_fields) + def add_print_formats(): frappe.reload_doc("regional", "print_format", "detailed_tax_invoice", force=True) frappe.reload_doc("regional", "print_format", "simplified_tax_invoice", force=True) From 00b2dede1410d3e99c48852d16b305fb50d35cff Mon Sep 17 00:00:00 2001 From: Dany Robert Date: Thu, 6 Jan 2022 18:42:56 +0530 Subject: [PATCH 2/4] fix: function name issue --- erpnext/regional/saudi_arabia/setup.py | 139 ++++++++++--------------- 1 file changed, 55 insertions(+), 84 deletions(-) diff --git a/erpnext/regional/saudi_arabia/setup.py b/erpnext/regional/saudi_arabia/setup.py index 8f2ad5cfeb0..c43c32caff5 100644 --- a/erpnext/regional/saudi_arabia/setup.py +++ b/erpnext/regional/saudi_arabia/setup.py @@ -7,68 +7,10 @@ from erpnext.regional.saudi_arabia.wizard.operations.setup_ksa_vat_setting impor from frappe.custom.doctype.custom_field.custom_field import create_custom_fields def setup(company=None, patch=True): - make_custom_fields() add_print_formats() add_permissions() make_custom_fields() -def make_custom_fields(): - is_zero_rated = dict(fieldname='is_zero_rated', label='Is Zero Rated', - fieldtype='Check', fetch_from='item_code.is_zero_rated', insert_after='description', - print_hide=1) - - is_exempt = dict(fieldname='is_exempt', label='Is Exempt', - fieldtype='Check', fetch_from='item_code.is_exempt', insert_after='is_zero_rated', - print_hide=1) - - purchase_invoice_fields = [ - dict(fieldname='company_trn', label='Company TRN', - fieldtype='Read Only', insert_after='shipping_address', - fetch_from='company.tax_id', print_hide=1), - dict(fieldname='supplier_name_in_arabic', label='Supplier Name in Arabic', - fieldtype='Read Only', insert_after='supplier_name', - fetch_from='supplier.supplier_name_in_arabic', print_hide=1) - ] - - sales_invoice_fields = [ - dict(fieldname='company_trn', label='Company TRN', - fieldtype='Read Only', insert_after='company_address', - fetch_from='company.tax_id', print_hide=1), - dict(fieldname='customer_name_in_arabic', label='Customer Name in Arabic', - fieldtype='Read Only', insert_after='customer_name', - fetch_from='customer.customer_name_in_arabic', print_hide=1) - ] - - custom_fields = { - 'Item': [is_zero_rated, is_exempt], - 'Customer': [ - dict(fieldname='customer_name_in_arabic', label='Customer Name in Arabic', - fieldtype='Data', insert_after='customer_name'), - ], - 'Supplier': [ - dict(fieldname='supplier_name_in_arabic', label='Supplier Name in Arabic', - fieldtype='Data', insert_after='supplier_name'), - ], - 'Purchase Invoice': purchase_invoice_fields, - 'Purchase Order': purchase_invoice_fields, - 'Purchase Receipt': purchase_invoice_fields, - 'Sales Invoice': sales_invoice_fields, - 'POS Invoice': sales_invoice_fields, - 'Sales Order': sales_invoice_fields, - 'Delivery Note': sales_invoice_fields, - 'Sales Invoice Item': [is_zero_rated, is_exempt], - 'POS Invoice Item': [is_zero_rated, is_exempt], - 'Purchase Invoice Item': [is_zero_rated, is_exempt], - 'Sales Order Item': [is_zero_rated, is_exempt], - 'Delivery Note Item': [is_zero_rated, is_exempt], - 'Quotation Item': [is_zero_rated, is_exempt], - 'Purchase Order Item': [is_zero_rated, is_exempt], - 'Purchase Receipt Item': [is_zero_rated, is_exempt], - 'Supplier Quotation Item': [is_zero_rated, is_exempt], - } - - create_custom_fields(custom_fields) - def add_print_formats(): frappe.reload_doc("regional", "print_format", "detailed_tax_invoice", force=True) frappe.reload_doc("regional", "print_format", "simplified_tax_invoice", force=True) @@ -96,38 +38,67 @@ def make_custom_fields(): - Company Name in Arabic - Address in Arabic """ + is_zero_rated = dict(fieldname='is_zero_rated', label='Is Zero Rated', + fieldtype='Check', fetch_from='item_code.is_zero_rated', insert_after='description', + print_hide=1) + + is_exempt = dict(fieldname='is_exempt', label='Is Exempt', + fieldtype='Check', fetch_from='item_code.is_exempt', insert_after='is_zero_rated', + print_hide=1) + + purchase_invoice_fields = [ + dict(fieldname='company_trn', label='Company TRN', + fieldtype='Read Only', insert_after='shipping_address', + fetch_from='company.tax_id', print_hide=1), + dict(fieldname='supplier_name_in_arabic', label='Supplier Name in Arabic', + fieldtype='Read Only', insert_after='supplier_name', + fetch_from='supplier.supplier_name_in_arabic', print_hide=1) + ] + + sales_invoice_fields = [ + dict(fieldname='company_trn', label='Company TRN', + fieldtype='Read Only', insert_after='company_address', + fetch_from='company.tax_id', print_hide=1), + dict(fieldname='customer_name_in_arabic', label='Customer Name in Arabic', + fieldtype='Read Only', insert_after='customer_name', + fetch_from='customer.customer_name_in_arabic', print_hide=1), + dict(fieldname='ksa_einv_qr', label='KSA E-Invoicing QR', + fieldtype='Attach Image', read_only=1, no_copy=1, hidden=1) + ] + custom_fields = { - 'Sales Invoice': [ - dict( - fieldname='ksa_einv_qr', - label='KSA E-Invoicing QR', - fieldtype='Attach Image', - read_only=1, no_copy=1, hidden=1 - ) + 'Item': [is_zero_rated, is_exempt], + 'Customer': [ + dict(fieldname='customer_name_in_arabic', label='Customer Name in Arabic', + fieldtype='Data', insert_after='customer_name'), ], - 'POS Invoice': [ - dict( - fieldname='ksa_einv_qr', - label='KSA E-Invoicing QR', - fieldtype='Attach Image', - read_only=1, no_copy=1, hidden=1 - ) + 'Supplier': [ + dict(fieldname='supplier_name_in_arabic', label='Supplier Name in Arabic', + fieldtype='Data', insert_after='supplier_name'), ], + 'Purchase Invoice': purchase_invoice_fields, + 'Purchase Order': purchase_invoice_fields, + 'Purchase Receipt': purchase_invoice_fields, + 'Sales Invoice': sales_invoice_fields, + 'POS Invoice': sales_invoice_fields, + 'Sales Order': sales_invoice_fields, + 'Delivery Note': sales_invoice_fields, + 'Sales Invoice Item': [is_zero_rated, is_exempt], + 'POS Invoice Item': [is_zero_rated, is_exempt], + 'Purchase Invoice Item': [is_zero_rated, is_exempt], + 'Sales Order Item': [is_zero_rated, is_exempt], + 'Delivery Note Item': [is_zero_rated, is_exempt], + 'Quotation Item': [is_zero_rated, is_exempt], + 'Purchase Order Item': [is_zero_rated, is_exempt], + 'Purchase Receipt Item': [is_zero_rated, is_exempt], + 'Supplier Quotation Item': [is_zero_rated, is_exempt], 'Address': [ - dict( - fieldname='address_in_arabic', - label='Address in Arabic', - fieldtype='Data', - insert_after='address_line2' - ) + dict(fieldname='address_in_arabic', label='Address in Arabic', + fieldtype='Data',insert_after='address_line2') ], 'Company': [ - dict( - fieldname='company_name_in_arabic', - label='Company Name In Arabic', - fieldtype='Data', - insert_after='company_name' - ) + dict(fieldname='company_name_in_arabic', label='Company Name In Arabic', + fieldtype='Data', insert_after='company_name') ] } From 63a4c1d9267922cd0ae4f7f9c1b9a69dca73903c Mon Sep 17 00:00:00 2001 From: Dany Robert Date: Thu, 6 Jan 2022 18:48:02 +0530 Subject: [PATCH 3/4] chore: linter style --- erpnext/regional/saudi_arabia/setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/erpnext/regional/saudi_arabia/setup.py b/erpnext/regional/saudi_arabia/setup.py index c43c32caff5..15d524d5b81 100644 --- a/erpnext/regional/saudi_arabia/setup.py +++ b/erpnext/regional/saudi_arabia/setup.py @@ -41,7 +41,7 @@ def make_custom_fields(): is_zero_rated = dict(fieldname='is_zero_rated', label='Is Zero Rated', fieldtype='Check', fetch_from='item_code.is_zero_rated', insert_after='description', print_hide=1) - + is_exempt = dict(fieldname='is_exempt', label='Is Exempt', fieldtype='Check', fetch_from='item_code.is_exempt', insert_after='is_zero_rated', print_hide=1) From 2e5f22a370973ab977bfeb962508b8f8872c66e9 Mon Sep 17 00:00:00 2001 From: Dany Robert Date: Fri, 7 Jan 2022 13:01:19 +0530 Subject: [PATCH 4/4] patch: run field creation patch --- erpnext/patches.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/erpnext/patches.txt b/erpnext/patches.txt index 268db40a8e7..002a17872d0 100644 --- a/erpnext/patches.txt +++ b/erpnext/patches.txt @@ -312,7 +312,7 @@ erpnext.patches.v14_0.delete_healthcare_doctypes erpnext.patches.v13_0.update_category_in_ltds_certificate erpnext.patches.v13_0.create_pan_field_for_india #2 erpnext.patches.v14_0.delete_hub_doctypes -erpnext.patches.v13_0.create_ksa_vat_custom_fields +erpnext.patches.v13_0.create_ksa_vat_custom_fields # 07-01-2022 erpnext.patches.v14_0.rename_ongoing_status_in_sla_documents erpnext.patches.v14_0.migrate_crm_settings erpnext.patches.v13_0.rename_ksa_qr_field