[fix] Use for shopping cart validation in Tax Rule
This commit is contained in:
parent
d89152e4a5
commit
79a415e3b8
@ -19,19 +19,6 @@ frappe.ui.form.on("Tax Rule", "refresh", function(frm) {
|
|||||||
frappe.ui.form.trigger("Tax Rule", "tax_type");
|
frappe.ui.form.trigger("Tax Rule", "tax_type");
|
||||||
})
|
})
|
||||||
|
|
||||||
frappe.ui.form.on("Tax Rule", "use_for_shopping_cart", function(frm) {
|
|
||||||
if(!frm.doc.use_for_shopping_cart &&
|
|
||||||
(frappe.get_list("Tax Rule", {"use_for_shopping_cart":1}).length == 0)) {
|
|
||||||
frappe.model.get_value("Shopping Cart Settings", "Shopping Cart Settings",
|
|
||||||
"enabled", function(docfield) {
|
|
||||||
if(docfield.enabled){
|
|
||||||
frm.set_value("use_for_shopping_cart", 1);
|
|
||||||
frappe.throw(__("Shopping Cart is enabled"));
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
frappe.ui.form.on("Tax Rule", "customer", function(frm) {
|
frappe.ui.form.on("Tax Rule", "customer", function(frm) {
|
||||||
frappe.call({
|
frappe.call({
|
||||||
method:"erpnext.accounts.doctype.tax_rule.tax_rule.get_party_details",
|
method:"erpnext.accounts.doctype.tax_rule.tax_rule.get_party_details",
|
||||||
|
@ -6,7 +6,7 @@ from __future__ import unicode_literals
|
|||||||
import frappe
|
import frappe
|
||||||
from frappe import _
|
from frappe import _
|
||||||
from frappe.model.document import Document
|
from frappe.model.document import Document
|
||||||
from frappe.utils import cstr
|
from frappe.utils import cstr, cint
|
||||||
|
|
||||||
class IncorrectCustomerGroup(frappe.ValidationError): pass
|
class IncorrectCustomerGroup(frappe.ValidationError): pass
|
||||||
class IncorrectSupplierType(frappe.ValidationError): pass
|
class IncorrectSupplierType(frappe.ValidationError): pass
|
||||||
@ -20,6 +20,7 @@ class TaxRule(Document):
|
|||||||
self.validate_tax_template()
|
self.validate_tax_template()
|
||||||
self.validate_date()
|
self.validate_date()
|
||||||
self.validate_filters()
|
self.validate_filters()
|
||||||
|
self.validate_use_for_shopping_cart()
|
||||||
|
|
||||||
def validate_tax_template(self):
|
def validate_tax_template(self):
|
||||||
if self.tax_type== "Sales":
|
if self.tax_type== "Sales":
|
||||||
@ -81,6 +82,15 @@ class TaxRule(Document):
|
|||||||
if tax_rule[0].priority == self.priority:
|
if tax_rule[0].priority == self.priority:
|
||||||
frappe.throw(_("Tax Rule Conflicts with {0}".format(tax_rule[0].name)), ConflictingTaxRule)
|
frappe.throw(_("Tax Rule Conflicts with {0}".format(tax_rule[0].name)), ConflictingTaxRule)
|
||||||
|
|
||||||
|
def validate_use_for_shopping_cart(self):
|
||||||
|
'''If shopping cart is enabled and no tax rule exists for shopping cart, enable this one'''
|
||||||
|
if (not self.use_for_shopping_cart
|
||||||
|
and cint(frappe.db.get_single_value('Shopping Cart Settings', 'enabled'))
|
||||||
|
and not frappe.db.get_value('Tax Rule', {'use_for_shopping_cart': 1, 'name': ['!=', self.name]})):
|
||||||
|
|
||||||
|
self.use_for_shopping_cart = 1
|
||||||
|
frappe.msgprint(_("Enabling 'Use for Shopping Cart', as Shopping Cart is enabled and there should be at least one Tax Rule for Shopping Cart"))
|
||||||
|
|
||||||
@frappe.whitelist()
|
@frappe.whitelist()
|
||||||
def get_party_details(party, party_type, args=None):
|
def get_party_details(party, party_type, args=None):
|
||||||
out = {}
|
out = {}
|
||||||
@ -113,7 +123,7 @@ def get_tax_template(posting_date, args):
|
|||||||
and (to_date is null or to_date = '' or to_date >= '{0}')""".format(posting_date)]
|
and (to_date is null or to_date = '' or to_date >= '{0}')""".format(posting_date)]
|
||||||
|
|
||||||
for key, value in args.iteritems():
|
for key, value in args.iteritems():
|
||||||
if key in "use_for_shopping_cart":
|
if key=="use_for_shopping_cart":
|
||||||
conditions.append("use_for_shopping_cart = {0}".format(1 if value else 0))
|
conditions.append("use_for_shopping_cart = {0}".format(1 if value else 0))
|
||||||
else:
|
else:
|
||||||
conditions.append("ifnull({0}, '') in ('', '{1}')".format(key, frappe.db.escape(cstr(value))))
|
conditions.append("ifnull({0}, '') in ('', '{1}')".format(key, frappe.db.escape(cstr(value))))
|
||||||
|
Loading…
Reference in New Issue
Block a user