From 3aa50caf723ec6ea85cb2f2f5713d641923cbede Mon Sep 17 00:00:00 2001 From: deepeshgarg007 Date: Thu, 11 Jul 2019 18:23:43 +0530 Subject: [PATCH 1/2] 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; From 33a9b12b1ac6738325dadada6723bbe2bb9cc9b4 Mon Sep 17 00:00:00 2001 From: deepeshgarg007 Date: Fri, 12 Jul 2019 11:12:51 +0530 Subject: [PATCH 2/2] fix: Reload doc after submitting --- frappe/public/js/frappe/form/quick_entry.js | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/frappe/public/js/frappe/form/quick_entry.js b/frappe/public/js/frappe/form/quick_entry.js index 3f8c6e21bc..38250f2ad8 100644 --- a/frappe/public/js/frappe/form/quick_entry.js +++ b/frappe/public/js/frappe/form/quick_entry.js @@ -161,9 +161,14 @@ frappe.ui.form.QuickEntryForm = Class.extend({ callback: function(r) { if (frappe.model.is_submittable(me.doctype)) { - me.dialog.set_primary_action(__('Submit'), function() { - me.submit(); - }); + frappe.run_serially([ + () => me.dialog.working = true, + () => { + me.dialog.set_primary_action(__('Submit'), function() { + me.submit(r.message); + }); + } + ]); } else { me.dialog.hide(); // delete the old doc @@ -192,12 +197,12 @@ frappe.ui.form.QuickEntryForm = Class.extend({ }); }, - submit: function() { + submit: function(doc) { var me = this; frappe.call({ method: "frappe.client.submit", args : { - doc: me.dialog.doc + doc: doc }, callback: function(r) { me.dialog.hide(); @@ -207,6 +212,7 @@ frappe.ui.form.QuickEntryForm = Class.extend({ if (frappe._from_link) { frappe.ui.form.update_calling_link(me.dialog.doc); } + cur_frm.reload_doc(); } }); },