From 650a1eeedefb91995634bcf85e72a5c7ebed431f Mon Sep 17 00:00:00 2001 From: tundebabzy Date: Tue, 2 Jan 2018 07:32:30 +0100 Subject: [PATCH] recalculate terms when document date changed (#12288) * recalculate terms when document date changed * clean up --- erpnext/public/js/controllers/transaction.js | 24 ++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/erpnext/public/js/controllers/transaction.js b/erpnext/public/js/controllers/transaction.js index 18140615dfc..483736e938e 100644 --- a/erpnext/public/js/controllers/transaction.js +++ b/erpnext/public/js/controllers/transaction.js @@ -521,6 +521,7 @@ erpnext.TransactionController = erpnext.taxes_and_totals.extend({ if(r.message) { me.frm.set_value("due_date", r.message); frappe.ui.form.trigger(me.frm.doc.doctype, "currency"); + me.recalculate_terms(); } } }) @@ -530,6 +531,29 @@ erpnext.TransactionController = erpnext.taxes_and_totals.extend({ } }, + recalculate_terms: function() { + const doc = this.frm.doc; + + if (doc.payment_terms_template) { + this.payment_terms_template(); + } else if (doc.payment_schedule) { + const me = this; + + doc.payment_schedule.forEach( + function(term) { + if (term.payment_term) { + me.payment_term(doc, term.doctype, term.name); + } else { + frappe.model.set_value( + term.doctype, term.name, 'due_date', + doc.posting_date || doc.transaction_date + ); + } + } + ); + } + }, + get_company_currency: function() { return erpnext.get_currency(this.frm.doc.company); },