diff options
| -rw-r--r-- | addons/website_form/controllers/main.py | 15 | ||||
| -rw-r--r-- | addons/website_form/static/src/snippets/s_website_form/000.js | 12 |
2 files changed, 14 insertions, 13 deletions
diff --git a/addons/website_form/controllers/main.py b/addons/website_form/controllers/main.py index 4c13c374d26..3a07fee8c57 100644 --- a/addons/website_form/controllers/main.py +++ b/addons/website_form/controllers/main.py @@ -84,17 +84,6 @@ class WebsiteForm(http.Controller): def boolean(self, field_label, field_input): return bool(field_input) - def date(self, field_label, field_input): - lang = request.env['ir.qweb.field'].user_lang() - return datetime.strptime(field_input, lang.date_format).strftime(DEFAULT_SERVER_DATE_FORMAT) - - def datetime(self, field_label, field_input): - lang = request.env['ir.qweb.field'].user_lang() - strftime_format = (u"%s %s" % (lang.date_format, lang.time_format)) - user_tz = pytz.timezone(request.context.get('tz') or request.env.user.tz or 'UTC') - dt = user_tz.localize(datetime.strptime(field_input, strftime_format)).astimezone(pytz.utc) - return dt.strftime(DEFAULT_SERVER_DATETIME_FORMAT) - def binary(self, field_label, field_input): return base64.b64encode(field_input.read()) @@ -108,8 +97,8 @@ class WebsiteForm(http.Controller): 'char': identity, 'text': identity, 'html': identity, - 'date': date, - 'datetime': datetime, + 'date': identity, + 'datetime': identity, 'many2one': integer, 'one2many': one2many, 'many2many':many2many, diff --git a/addons/website_form/static/src/snippets/s_website_form/000.js b/addons/website_form/static/src/snippets/s_website_form/000.js index b2f0f3370b4..573656d5b92 100644 --- a/addons/website_form/static/src/snippets/s_website_form/000.js +++ b/addons/website_form/static/src/snippets/s_website_form/000.js @@ -141,6 +141,18 @@ odoo.define('website_form.s_website_form', function (require) { } }); + // force server date format usage for existing fields + this.$target.find('.s_website_form_field:not(.s_website_form_custom)') + .find('.s_website_form_date, .s_website_form_datetime').each(function () { + var date = $(this).datetimepicker('viewDate').clone().locale('en'); + var format = 'YYYY-MM-DD'; + if ($(this).hasClass('s_website_form_datetime')) { + date = date.utc(); + format = 'YYYY-MM-DD HH:mm:ss'; + } + form_values[$(this).find('input').attr('name')] = date.format(format); + }); + const tokenObj = await this._recaptcha.getToken('website_form'); if (tokenObj.token) { form_values['recaptcha_token_response'] = tokenObj.token; |
