diff options
| author | Olivier Dony <odo@openerp.com> | 2016-04-21 18:05:02 +0200 |
|---|---|---|
| committer | Olivier Dony <odo@openerp.com> | 2016-04-21 18:05:14 +0200 |
| commit | ee804e1d329e3d7b11fc19707be568c09b9ff5dd (patch) | |
| tree | f3e709ac4105295479d0da05f1fa927b66bfc22a /addons/website_form/controllers/main.py | |
| parent | 73fbadf8ae3377e2d16f5538a9feaab0d9f7d315 (diff) | |
| parent | 74d8cbc190d1a93ef699ee254b1efbc88d2a1e26 (diff) | |
[MERGE] Forward-port 9.0 up to 74d8cbc190d1a93ef699ee254b1efbc88d2a1e26
Diffstat (limited to 'addons/website_form/controllers/main.py')
| -rw-r--r-- | addons/website_form/controllers/main.py | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/addons/website_form/controllers/main.py b/addons/website_form/controllers/main.py index f2f0cc806ef..be1bf5aa53a 100644 --- a/addons/website_form/controllers/main.py +++ b/addons/website_form/controllers/main.py @@ -2,9 +2,12 @@ import base64 import json +import pytz +from datetime import datetime from psycopg2 import IntegrityError from openerp import http, SUPERUSER_ID from openerp.http import request +from openerp.tools import DEFAULT_SERVER_DATE_FORMAT, DEFAULT_SERVER_DATETIME_FORMAT from openerp.tools.translate import _ from openerp.exceptions import ValidationError from openerp.addons.base.ir.ir_qweb import nl2br @@ -60,6 +63,17 @@ 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()) @@ -73,7 +87,8 @@ class WebsiteForm(http.Controller): 'char': identity, 'text': identity, 'html': identity, - 'datetime': identity, + 'date': date, + 'datetime': datetime, 'many2one': integer, 'one2many': one2many, 'many2many':many2many, |
