chore: Fix a potential variable misuse bug (#31372)

* Fix a potential variable misuse bug

* chore: Separate check (separate line) for empty table in Pricing Rule

* chore: Code readability & check for field in row (now row itself)

Co-authored-by: marination <maricadsouza221197@gmail.com>
(cherry picked from commit b4a93da9f3)

# Conflicts:
#	erpnext/accounts/doctype/pricing_rule/pricing_rule.py
This commit is contained in:
Jingxuan He
2022-06-16 08:46:59 +02:00
committed by Mergify
parent f19ed0b74c
commit 2cd03196a4

View File

@@ -36,10 +36,22 @@ class PricingRule(Document):
self.margin_rate_or_amount = 0.0
def validate_duplicate_apply_on(self):
<<<<<<< HEAD
field = apply_on_dict.get(self.apply_on)
values = [d.get(frappe.scrub(self.apply_on)) for d in self.get(field) if field]
if len(values) != len(set(values)):
frappe.throw(_("Duplicate {0} found in the table").format(self.apply_on))
=======
if self.apply_on != "Transaction":
apply_on_table = apply_on_dict.get(self.apply_on)
if not apply_on_table:
return
apply_on_field = frappe.scrub(self.apply_on)
values = [d.get(apply_on_field) for d in self.get(apply_on_table) if d.get(apply_on_field)]
if len(values) != len(set(values)):
frappe.throw(_("Duplicate {0} found in the table").format(self.apply_on))
>>>>>>> b4a93da9f3 (chore: Fix a potential variable misuse bug (#31372))
def validate_mandatory(self):
for apply_on, field in apply_on_dict.items():