From 97544e2bbcd271215306772a40c01bdaeccf6350 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 5685c174737..ca9ab014019 100644 --- a/erpnext/regional/india/utils.py +++ b/erpnext/regional/india/utils.py @@ -30,12 +30,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': @@ -66,12 +67,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 f76139dceb52665133a6e8e04943a6121755d494 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 ca9ab014019..2b236f829d2 100644 --- a/erpnext/regional/india/utils.py +++ b/erpnext/regional/india/utils.py @@ -73,7 +73,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 8c84d6a1d9e6e8e1ef72dbb456869ea6b25e3a03 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 2b236f829d2..77926fa01d2 100644 --- a/erpnext/regional/india/utils.py +++ b/erpnext/regional/india/utils.py @@ -72,8 +72,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 fa5e018330b46340f8347806bd7d40a67658d082 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 77926fa01d2..635ef3c307e 100644 --- a/erpnext/regional/india/utils.py +++ b/erpnext/regional/india/utils.py @@ -71,9 +71,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 4b1befb691cb6dcd9ee8b9f0fcfce14e18d6407c 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 635ef3c307e..3aa35332857 100644 --- a/erpnext/regional/india/utils.py +++ b/erpnext/regional/india/utils.py @@ -71,9 +71,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 d119b4321d6ed6c22985b0346233a0a3d899ddb8 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 3aa35332857..6be2832ec28 100644 --- a/erpnext/regional/india/utils.py +++ b/erpnext/regional/india/utils.py @@ -71,7 +71,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: