From 8fd991880e6b6f728765a3ae9759a3846873e6d1 Mon Sep 17 00:00:00 2001 From: Fumin Date: Sun, 5 Apr 2020 03:53:52 +0800 Subject: [PATCH 1/3] fix: web form not submitting data in grid views Web forms work nicely with vanilla type fields. However, for child tables fields in grid views, the data is not submitted. The below instructions show how to replicate this issue: --- frappe/public/js/frappe/web_form/web_form.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/frappe/public/js/frappe/web_form/web_form.js b/frappe/public/js/frappe/web_form/web_form.js index 0c45a03788..71a34d9888 100644 --- a/frappe/public/js/frappe/web_form/web_form.js +++ b/frappe/public/js/frappe/web_form/web_form.js @@ -112,6 +112,7 @@ export default class WebForm extends frappe.ui.FieldGroup { if (window.saving) return; let for_payment = Boolean(this.accept_payment && !this.doc.paid); + this.doc = isvalid; this.doc.doctype = this.doc_type; this.doc.web_form_name = this.name; @@ -187,4 +188,4 @@ export default class WebForm extends frappe.ui.FieldGroup { this.success_message || __("Your information has been submitted"); success_dialog.set_message(success_message); } -} \ No newline at end of file +} From e7f0b42afb03354092fbc0e75ec43505fdd31528 Mon Sep 17 00:00:00 2001 From: Shivam Mishra Date: Thu, 9 Apr 2020 18:36:39 +0530 Subject: [PATCH 2/3] fix: update doc object with current values --- frappe/public/js/frappe/web_form/web_form.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/frappe/public/js/frappe/web_form/web_form.js b/frappe/public/js/frappe/web_form/web_form.js index 71a34d9888..df81f0967d 100644 --- a/frappe/public/js/frappe/web_form/web_form.js +++ b/frappe/public/js/frappe/web_form/web_form.js @@ -105,14 +105,14 @@ export default class WebForm extends frappe.ui.FieldGroup { this.validate && this.validate(); // validation hack: get_values will check for missing data - let isvalid = super.get_values(this.allow_incomplete); + let doc_values = super.get_values(this.allow_incomplete); - if (!isvalid) return; + if (!doc_values) return; if (window.saving) return; let for_payment = Boolean(this.accept_payment && !this.doc.paid); - this.doc = isvalid; + Object.assign(this.doc, doc_values) this.doc.doctype = this.doc_type; this.doc.web_form_name = this.name; From fa6f05282b09edfff12c9b65105c8038687ce4d2 Mon Sep 17 00:00:00 2001 From: Fumin Date: Fri, 10 Apr 2020 22:53:24 +0800 Subject: [PATCH 3/3] add semi-colon to end of line Codacy demands that we add this semi-colon https://app.codacy.com/gh/frappe/frappe/pullRequest?prid=5305922 . --- frappe/public/js/frappe/web_form/web_form.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frappe/public/js/frappe/web_form/web_form.js b/frappe/public/js/frappe/web_form/web_form.js index df81f0967d..2e2a62e712 100644 --- a/frappe/public/js/frappe/web_form/web_form.js +++ b/frappe/public/js/frappe/web_form/web_form.js @@ -112,7 +112,7 @@ export default class WebForm extends frappe.ui.FieldGroup { if (window.saving) return; let for_payment = Boolean(this.accept_payment && !this.doc.paid); - Object.assign(this.doc, doc_values) + Object.assign(this.doc, doc_values); this.doc.doctype = this.doc_type; this.doc.web_form_name = this.name;