fix due_date autopopulate commit
diff --git a/erpnext/accounts/doctype/journal_entry/journal_entry.js b/erpnext/accounts/doctype/journal_entry/journal_entry.js
index 934dbeb..38bd612 100644
--- a/erpnext/accounts/doctype/journal_entry/journal_entry.js
+++ b/erpnext/accounts/doctype/journal_entry/journal_entry.js
@@ -185,24 +185,38 @@
})
},
+ due_date_options_cache: {},
+
reference_name: function(doc, cdt, cdn) {
var d = frappe.get_doc(cdt, cdn);
+ var me = this;
- const get_invoice_due_dates = (invoice_name) => {
- frappe.call({
- method: "erpnext.accounts.doctype.journal_entry.journal_entry.get_invoice_due_dates",
- args: {name: invoice_name},
- callback: function(r){
- const wrapper = cur_frm.fields_dict["accounts"].wrapper;
- const input = $(wrapper).find("select[data-fieldname=reference_due_date]");
+ const get_invoice_due_dates = invoice_name => {
+ const options = this.due_date_options_cache[invoice_name];
+ const input = $(cur_frm.fields_dict["accounts"].wrapper).find("select[data-fieldname=reference_due_date]");
- input.children('option').remove();
-
- $.each(r.message, function(key, value) {
- input.append(new Option(value.due_date, "", false, false));
- });
- }
- });
+ if (options) {
+ input.empty();
+ input.add_options(options);
+ frappe.model.set_value(cdt, cdn, "reference_due_date", options[0]);
+ }
+ else {
+ frappe.call({
+ method: "erpnext.accounts.doctype.journal_entry.journal_entry.get_invoice_due_dates",
+ args: {name: invoice_name},
+ callback: function(r) {
+ const options = [];
+ $.each(r.message, function(key, value) {
+ options.push(value.due_date);
+ });
+ input.empty();
+ input.add_options(options);
+ frappe.model.set_value(cdt, cdn, "reference_due_date", options[0]);
+ me.due_date_options_cache[d.reference_name] = options;
+ console.log("input:", input);
+ }
+ });
+ }
}
if(d.reference_name) {
@@ -215,7 +229,7 @@
if (d.reference_type==="Journal Entry" && !flt(d.credit) && !flt(d.debit)) {
this.get_outstanding('Journal Entry', d.reference_name, doc.company, d);
}
- if( in_list(d.reference_type), ["Sales Invoice", "Purchase Invoice"]) {
+ if( in_list(["Sales Invoice", "Purchase Invoice"]), d.reference_type) {
get_invoice_due_dates(d.reference_name);
}
}