From 2c0e8c855924d878759b5ad8c184646af47cbc3a Mon Sep 17 00:00:00 2001 From: Anuja Pawar Date: Fri, 22 Oct 2021 19:26:31 +0530 Subject: [PATCH 1/6] fix: check if gst_category exist (cherry picked from commit 59c31bb124048a0bbf203311ff7e4ce09feadb28) --- erpnext/regional/india/utils.py | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/erpnext/regional/india/utils.py b/erpnext/regional/india/utils.py index 254a293dbf9..863f915fe40 100644 --- a/erpnext/regional/india/utils.py +++ b/erpnext/regional/india/utils.py @@ -29,12 +29,13 @@ def validate_gstin_for_india(doc, method): gst_category = [] - if len(doc.links): - link_doctype = doc.links[0].get("link_doctype") - link_name = doc.links[0].get("link_name") + if hasattr(doc, 'gst_category'): + if len(doc.links): + link_doctype = doc.links[0].get("link_doctype") + link_name = doc.links[0].get("link_name") - if link_doctype in ["Customer", "Supplier"]: - gst_category = frappe.db.get_value(link_doctype, {'name': link_name}, ['gst_category']) + if link_doctype in ["Customer", "Supplier"]: + gst_category = frappe.db.get_value(link_doctype, {'name': link_name}, ['gst_category']) doc.gstin = doc.gstin.upper().strip() if not doc.gstin or doc.gstin == 'NA': @@ -76,12 +77,13 @@ def validate_tax_category(doc, method): frappe.throw(_("Intra State tax category for GST State {0} already exists").format(doc.gst_state)) def update_gst_category(doc, method): - for link in doc.links: - if link.link_doctype in ['Customer', 'Supplier']: - if doc.get('gstin'): - frappe.db.sql(""" - UPDATE `tab{0}` SET gst_category = %s WHERE name = %s AND gst_category = 'Unregistered' - """.format(link.link_doctype), ("Registered Regular", link.link_name)) #nosec + if hasattr(doc, 'gst_category'): + for link in doc.links: + if link.link_doctype in ['Customer', 'Supplier']: + if doc.get('gstin'): + frappe.db.sql(""" + UPDATE `tab{0}` SET gst_category = %s WHERE name = %s AND gst_category = 'Unregistered' + """.format(link.link_doctype), ("Registered Regular", link.link_name)) #nosec def set_gst_state_and_state_number(doc): if not doc.gst_state: From ba08b4fcb3d6046ccaa6ef646c24d0579d5d15e0 Mon Sep 17 00:00:00 2001 From: Anuja Pawar Date: Fri, 22 Oct 2021 20:43:54 +0530 Subject: [PATCH 2/6] fix: sider (cherry picked from commit 4f538376243647b779b0b35a2017264881d4ed41) --- erpnext/regional/india/utils.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/erpnext/regional/india/utils.py b/erpnext/regional/india/utils.py index 863f915fe40..13c719ef2ad 100644 --- a/erpnext/regional/india/utils.py +++ b/erpnext/regional/india/utils.py @@ -83,7 +83,7 @@ def update_gst_category(doc, method): if doc.get('gstin'): frappe.db.sql(""" UPDATE `tab{0}` SET gst_category = %s WHERE name = %s AND gst_category = 'Unregistered' - """.format(link.link_doctype), ("Registered Regular", link.link_name)) #nosec + """.format(link.link_doctype), ("Registered Regular", link.link_name)) #nosec def set_gst_state_and_state_number(doc): if not doc.gst_state: From 1dbb83c03df6df6acbad31c559f60851279794af Mon Sep 17 00:00:00 2001 From: Anuja Pawar Date: Fri, 22 Oct 2021 20:44:49 +0530 Subject: [PATCH 3/6] fix: sider (cherry picked from commit 6a3bd882b42f62db4404841b4e338ead938b7417) --- erpnext/regional/india/utils.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/erpnext/regional/india/utils.py b/erpnext/regional/india/utils.py index 13c719ef2ad..f39a226e34d 100644 --- a/erpnext/regional/india/utils.py +++ b/erpnext/regional/india/utils.py @@ -82,8 +82,8 @@ def update_gst_category(doc, method): if link.link_doctype in ['Customer', 'Supplier']: if doc.get('gstin'): frappe.db.sql(""" - UPDATE `tab{0}` SET gst_category = %s WHERE name = %s AND gst_category = 'Unregistered' - """.format(link.link_doctype), ("Registered Regular", link.link_name)) #nosec + UPDATE `tab{0}` SET gst_category = %s WHERE name = %s AND gst_category = 'Unregistered' """ + .format(link.link_doctype), ("Registered Regular", link.link_name)) #nosec def set_gst_state_and_state_number(doc): if not doc.gst_state: From 10606b242c8203a5eb9a5d6d5679ad111b70316b Mon Sep 17 00:00:00 2001 From: Anuja Pawar Date: Fri, 29 Oct 2021 21:32:20 +0530 Subject: [PATCH 4/6] fix: re-writing sql query with ORM methods (cherry picked from commit bc1e7bc15fd9e21ed6d4f0438ca649944316bfdc) --- erpnext/regional/india/utils.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/erpnext/regional/india/utils.py b/erpnext/regional/india/utils.py index f39a226e34d..b6295889551 100644 --- a/erpnext/regional/india/utils.py +++ b/erpnext/regional/india/utils.py @@ -81,9 +81,9 @@ def update_gst_category(doc, method): for link in doc.links: if link.link_doctype in ['Customer', 'Supplier']: if doc.get('gstin'): - frappe.db.sql(""" - UPDATE `tab{0}` SET gst_category = %s WHERE name = %s AND gst_category = 'Unregistered' """ - .format(link.link_doctype), ("Registered Regular", link.link_name)) #nosec + gst_category = frappe.db.get_value(link.link_doctype, link.link_name, 'gst_category') + if gst_category == 'Unregistered': + frappe.db.set_value(link.link_doctype, link.link_name, 'gst_category', 'Registered Regular') def set_gst_state_and_state_number(doc): if not doc.gst_state: From bbea156aa6e1338983f119c5b4feddcc3e303752 Mon Sep 17 00:00:00 2001 From: Anuja Pawar Date: Mon, 1 Nov 2021 11:38:02 +0530 Subject: [PATCH 5/6] fix: update set_value query (cherry picked from commit dd3cadd46b28d980154b0f6ccc1204fd5ce4fa66) --- erpnext/regional/india/utils.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/erpnext/regional/india/utils.py b/erpnext/regional/india/utils.py index b6295889551..72d510b87a7 100644 --- a/erpnext/regional/india/utils.py +++ b/erpnext/regional/india/utils.py @@ -81,9 +81,7 @@ def update_gst_category(doc, method): for link in doc.links: if link.link_doctype in ['Customer', 'Supplier']: if doc.get('gstin'): - gst_category = frappe.db.get_value(link.link_doctype, link.link_name, 'gst_category') - if gst_category == 'Unregistered': - frappe.db.set_value(link.link_doctype, link.link_name, 'gst_category', 'Registered Regular') + frappe.db.set_value(link.link_doctype, { 'name': link.link_name, 'gst_category': 'Unregistered' }, 'gst_category', 'Registered Regular') def set_gst_state_and_state_number(doc): if not doc.gst_state: From d37ca7b3e09d980481fad7b6b6f066ddf962e2c4 Mon Sep 17 00:00:00 2001 From: Anuja Pawar Date: Tue, 2 Nov 2021 23:29:06 +0530 Subject: [PATCH 6/6] fix: sider (cherry picked from commit f2fbcc81249f0c36a8188bcd09095b48b3e933e1) --- erpnext/regional/india/utils.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/erpnext/regional/india/utils.py b/erpnext/regional/india/utils.py index 72d510b87a7..b7c47dcc248 100644 --- a/erpnext/regional/india/utils.py +++ b/erpnext/regional/india/utils.py @@ -81,7 +81,7 @@ def update_gst_category(doc, method): for link in doc.links: if link.link_doctype in ['Customer', 'Supplier']: if doc.get('gstin'): - frappe.db.set_value(link.link_doctype, { 'name': link.link_name, 'gst_category': 'Unregistered' }, 'gst_category', 'Registered Regular') + frappe.db.set_value(link.link_doctype, {'name': link.link_name, 'gst_category': 'Unregistered'}, 'gst_category', 'Registered Regular') def set_gst_state_and_state_number(doc): if not doc.gst_state: