mirror of
https://github.com/frappe/erpnext.git
synced 2026-06-04 20:59:11 +00:00
feat: Tax Category based on Address
This commit is contained in:
@@ -92,9 +92,6 @@ erpnext.utils.get_address_display = function(frm, address_field, display_field,
|
||||
if(r.message) {
|
||||
frm.set_value(display_field, r.message)
|
||||
}
|
||||
if(frappe.meta.get_docfield(frm.doc.doctype, "taxes") && !is_your_company_address) {
|
||||
erpnext.utils.set_taxes(frm, address_field);
|
||||
}
|
||||
}
|
||||
})
|
||||
} else {
|
||||
@@ -102,6 +99,42 @@ erpnext.utils.get_address_display = function(frm, address_field, display_field,
|
||||
}
|
||||
};
|
||||
|
||||
erpnext.utils.set_taxes_from_address = function(frm, triggered_from_field, billing_address_field, shipping_address_field) {
|
||||
if(frm.updating_party_details) return;
|
||||
|
||||
if(frappe.meta.get_docfield(frm.doc.doctype, "taxes")) {
|
||||
if(!erpnext.utils.validate_mandatory(frm, "Lead/Customer/Supplier",
|
||||
frm.doc.customer || frm.doc.supplier || frm.doc.lead, triggered_from_field)) {
|
||||
return;
|
||||
}
|
||||
|
||||
if(!erpnext.utils.validate_mandatory(frm, "Posting/Transaction Date",
|
||||
frm.doc.posting_date || frm.doc.transaction_date, triggered_from_field)) {
|
||||
return;
|
||||
}
|
||||
} else {
|
||||
return;
|
||||
}
|
||||
|
||||
frappe.call({
|
||||
method: "erpnext.accounts.party.get_address_tax_category",
|
||||
args: {
|
||||
"tax_category": frm.doc.tax_category,
|
||||
"billing_address": frm.doc[billing_address_field],
|
||||
"shipping_address": frm.doc[shipping_address_field]
|
||||
},
|
||||
callback: function(r) {
|
||||
if(!r.exc){
|
||||
if(frm.doc.tax_category != r.message) {
|
||||
frm.set_value("tax_category", r.message);
|
||||
} else {
|
||||
erpnext.utils.set_taxes(frm, triggered_from_field);
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
erpnext.utils.set_taxes = function(frm, triggered_from_field) {
|
||||
if(frappe.meta.get_docfield(frm.doc.doctype, "taxes")) {
|
||||
if(!erpnext.utils.validate_mandatory(frm, "Lead/Customer/Supplier",
|
||||
|
||||
Reference in New Issue
Block a user