diff --git a/frappe/public/js/frappe/form/quick_entry.js b/frappe/public/js/frappe/form/quick_entry.js index 3f94c0c011..d4e27bb695 100644 --- a/frappe/public/js/frappe/form/quick_entry.js +++ b/frappe/public/js/frappe/form/quick_entry.js @@ -6,7 +6,7 @@ frappe.quick_edit = function(doctype, name) { }); }; -frappe.ui.form.make_quick_entry = (doctype, after_insert, init_callback, doc) => { +frappe.ui.form.make_quick_entry = (doctype, after_insert, init_callback, doc, force) => { var trimmed_doctype = doctype.replace(/ /g, ''); var controller_name = "QuickEntryForm"; @@ -14,31 +14,31 @@ frappe.ui.form.make_quick_entry = (doctype, after_insert, init_callback, doc) => controller_name = trimmed_doctype + "QuickEntryForm"; } - frappe.quick_entry = new frappe.ui.form[controller_name](doctype, after_insert, init_callback, doc); + frappe.quick_entry = new frappe.ui.form[controller_name](doctype, after_insert, init_callback, doc, force); return frappe.quick_entry.setup(); }; frappe.ui.form.QuickEntryForm = Class.extend({ - init: function(doctype, after_insert, init_callback, doc) { + init: function(doctype, after_insert, init_callback, doc, force) { this.doctype = doctype; this.after_insert = after_insert; this.init_callback = init_callback; this.doc = doc; + this.force = force ? force : false; }, setup: function() { - let me = this; return new Promise(resolve => { - frappe.model.with_doctype(this.doctype, function() { - me.check_quick_entry_doc(); - me.set_meta_and_mandatory_fields(); - if(me.is_quick_entry()) { - me.render_dialog(); - resolve(me); + frappe.model.with_doctype(this.doctype, () => { + this.check_quick_entry_doc(); + this.set_meta_and_mandatory_fields(); + if(this.is_quick_entry() || this.force) { + this.render_dialog(); + resolve(this); } else { frappe.quick_entry = null; - frappe.set_route('Form', me.doctype, me.doc.name) - .then(() => resolve(me)); + frappe.set_route('Form', this.doctype, this.doc.name) + .then(() => resolve(this)); } }); }); @@ -49,8 +49,8 @@ frappe.ui.form.QuickEntryForm = Class.extend({ let fields = this.meta.fields; // prepare a list of mandatory, bold and allow in quick entry fields - this.mandatory = $.map(fields, function(d) { - return ((d.reqd || d.bold || d.allow_in_quick_entry) && !d.read_only) ? $.extend({}, d) : null; + this.mandatory = fields.filter(df => { + return ((df.reqd || df.bold || df.allow_in_quick_entry) && !df.read_only) }); },