Pricing Rule: price / discount percentage can not be negative

This commit is contained in:
Nabin Hait 2014-06-10 11:09:21 +05:30
parent 91016ba989
commit 7cba72a0b7
2 changed files with 11 additions and 3 deletions

View File

@ -14,13 +14,15 @@ class PricingRule(Document):
self.validate_mandatory()
self.validate_min_max_qty()
self.cleanup_fields_value()
self.validate_price_or_discount()
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 "")
if tocheck and not self.get(tocheck):
throw(_("{0} is required").format(self.meta.get_label(tocheck)), frappe.MandatoryError)
def validate_min_max_qty(self):
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"))
@ -37,3 +39,8 @@ class PricingRule(Document):
f = frappe.scrub(f)
if f!=fieldname:
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))

View File

@ -8,7 +8,8 @@ from frappe import throw, _
from frappe.model.document import Document
class Currency(Document):
pass
def validate(self):
frappe.clear_cache()
def validate_conversion_rate(currency, conversion_rate, conversion_rate_label, company):
"""common validation for currency and price list currency"""
@ -20,4 +21,4 @@ def validate_conversion_rate(currency, conversion_rate, conversion_rate_label, c
"conversion_rate_label": conversion_rate_label,
"from_currency": currency,
"to_currency": company_currency
})
})