From 3aa50caf723ec6ea85cb2f2f5713d641923cbede Mon Sep 17 00:00:00 2001 From: deepeshgarg007 Date: Thu, 11 Jul 2019 18:23:43 +0530 Subject: [PATCH] feat(quick_entry): Allow submitting doc in quick entry --- frappe/public/js/frappe/form/quick_entry.js | 44 ++++++++++++++++----- 1 file changed, 35 insertions(+), 9 deletions(-) diff --git a/frappe/public/js/frappe/form/quick_entry.js b/frappe/public/js/frappe/form/quick_entry.js index 53dc40925c..3f8c6e21bc 100644 --- a/frappe/public/js/frappe/form/quick_entry.js +++ b/frappe/public/js/frappe/form/quick_entry.js @@ -159,17 +159,24 @@ frappe.ui.form.QuickEntryForm = Class.extend({ doc: me.dialog.doc }, callback: function(r) { - me.dialog.hide(); - // delete the old doc - frappe.model.clear_doc(me.dialog.doc.doctype, me.dialog.doc.name); - me.dialog.doc = r.message; - if(frappe._from_link) { - frappe.ui.form.update_calling_link(me.dialog.doc); + + if (frappe.model.is_submittable(me.doctype)) { + me.dialog.set_primary_action(__('Submit'), function() { + me.submit(); + }); } else { - if(me.after_insert) { - me.after_insert(me.dialog.doc); + me.dialog.hide(); + // delete the old doc + frappe.model.clear_doc(me.dialog.doc.doctype, me.dialog.doc.name); + me.dialog.doc = r.message; + if(frappe._from_link) { + frappe.ui.form.update_calling_link(me.dialog.doc); } else { - me.open_form_if_not_list(); + if(me.after_insert) { + me.after_insert(me.dialog.doc); + } else { + me.open_form_if_not_list(); + } } } }, @@ -185,6 +192,25 @@ frappe.ui.form.QuickEntryForm = Class.extend({ }); }, + submit: function() { + var me = this; + frappe.call({ + method: "frappe.client.submit", + args : { + doc: me.dialog.doc + }, + callback: function(r) { + me.dialog.hide(); + // delete the old doc + frappe.model.clear_doc(me.dialog.doc.doctype, me.dialog.doc.name); + me.dialog.doc = r.message; + if (frappe._from_link) { + frappe.ui.form.update_calling_link(me.dialog.doc); + } + } + }); + }, + open_form_if_not_list: function() { let route = frappe.get_route(); let doc = this.dialog.doc;