Pricing Rule: price / discount percentage can not be negative
This commit is contained in:
parent
91016ba989
commit
7cba72a0b7
@ -14,13 +14,15 @@ class PricingRule(Document):
|
|||||||
self.validate_mandatory()
|
self.validate_mandatory()
|
||||||
self.validate_min_max_qty()
|
self.validate_min_max_qty()
|
||||||
self.cleanup_fields_value()
|
self.cleanup_fields_value()
|
||||||
|
self.validate_price_or_discount()
|
||||||
|
|
||||||
def validate_mandatory(self):
|
def validate_mandatory(self):
|
||||||
for field in ["apply_on", "applicable_for", "price_or_discount"]:
|
for field in ["apply_on", "applicable_for"]:
|
||||||
tocheck = frappe.scrub(self.get(field) or "")
|
tocheck = frappe.scrub(self.get(field) or "")
|
||||||
if tocheck and not self.get(tocheck):
|
if tocheck and not self.get(tocheck):
|
||||||
throw(_("{0} is required").format(self.meta.get_label(tocheck)), frappe.MandatoryError)
|
throw(_("{0} is required").format(self.meta.get_label(tocheck)), frappe.MandatoryError)
|
||||||
|
|
||||||
|
|
||||||
def validate_min_max_qty(self):
|
def validate_min_max_qty(self):
|
||||||
if self.min_qty and self.max_qty and flt(self.min_qty) > flt(self.max_qty):
|
if self.min_qty and self.max_qty and flt(self.min_qty) > flt(self.max_qty):
|
||||||
throw(_("Min Qty can not be greater than Max Qty"))
|
throw(_("Min Qty can not be greater than Max Qty"))
|
||||||
@ -37,3 +39,8 @@ class PricingRule(Document):
|
|||||||
f = frappe.scrub(f)
|
f = frappe.scrub(f)
|
||||||
if f!=fieldname:
|
if f!=fieldname:
|
||||||
self.set(f, None)
|
self.set(f, None)
|
||||||
|
|
||||||
|
def validate_price_or_discount(self):
|
||||||
|
for field in ["Price", "Discount Percentage"]:
|
||||||
|
if flt(self.get(frappe.scrub(field))) < 0:
|
||||||
|
throw(_("{0} can not be negative").format(field))
|
||||||
|
@ -8,7 +8,8 @@ from frappe import throw, _
|
|||||||
from frappe.model.document import Document
|
from frappe.model.document import Document
|
||||||
|
|
||||||
class Currency(Document):
|
class Currency(Document):
|
||||||
pass
|
def validate(self):
|
||||||
|
frappe.clear_cache()
|
||||||
|
|
||||||
def validate_conversion_rate(currency, conversion_rate, conversion_rate_label, company):
|
def validate_conversion_rate(currency, conversion_rate, conversion_rate_label, company):
|
||||||
"""common validation for currency and price list currency"""
|
"""common validation for currency and price list currency"""
|
||||||
|
Loading…
x
Reference in New Issue
Block a user