feat: forcefully create quick entry

This commit is contained in:
Shivam Mishra 2020-04-22 16:02:11 +05:30
parent f1cb3989ff
commit ea7ec24d34

View file

@ -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)
});
},