summaryrefslogtreecommitdiff
path: root/addons/website_form/static
diff options
context:
space:
mode:
authorNasreddin (bon) <bon@odoo.com>2020-10-20 14:02:23 +0000
committerNasreddin (bon) <bon@odoo.com>2020-10-21 13:18:32 +0000
commit2c60ebd89c1c4a18e663b7c5b2dd7ca34d2a37e9 (patch)
tree00d2849eb02a5bfd04a7b4e02f420f81e8f56f15 /addons/website_form/static
parent3229239c2a738cc99820dba0fce1bd1c2a3536ea (diff)
[FIX] website_form: Required hidden field is not saved
Issue - Install "Website" app - Go to "Contact us" page on website - Edit Page, then click on submit button to edit form style - Alter 'Recipient Email' then save - Edit Page and click on submit button 'Recipient Email' have default value. Cause If a field is required, the default value is set without checking if a value is already set. Solution Set current value if available, else default value. opw-2361169 closes odoo/odoo#60452 X-original-commit: e29d2818abf0e7902feb26c9e0b4809c9a3351c6 Signed-off-by: Nicolas Lempereur (nle) <nle@odoo.com> Signed-off-by: bon-odoo <nboulif@users.noreply.github.com>
Diffstat (limited to 'addons/website_form/static')
-rw-r--r--addons/website_form/static/src/snippets/s_website_form/options.js6
1 files changed, 4 insertions, 2 deletions
diff --git a/addons/website_form/static/src/snippets/s_website_form/options.js b/addons/website_form/static/src/snippets/s_website_form/options.js
index acaabc6a40a..0c202314ec2 100644
--- a/addons/website_form/static/src/snippets/s_website_form/options.js
+++ b/addons/website_form/static/src/snippets/s_website_form/options.js
@@ -557,9 +557,11 @@ options.registry.WebsiteFormEditor = FormEditor.extend({
break;
}
if (field.required) {
- // Get default value or for many2one fields the first option.
+ // Try to retrieve hidden value in form, else,
+ // get default value or for many2one fields the first option.
+ const currentValue = this.$target.find(`.s_website_form_dnone input[name="${field.name}"]`).val();
const defaultValue = field.defaultValue || field.records[0].id;
- this._addHiddenField(defaultValue, field.name);
+ this._addHiddenField(currentValue || defaultValue, field.name);
}
uiFragment.insertBefore(option, firstOption);
});