summaryrefslogtreecommitdiff
path: root/addons/website_form/controllers/main.py
diff options
context:
space:
mode:
authorOlivier Dony <odo@openerp.com>2016-04-21 18:05:02 +0200
committerOlivier Dony <odo@openerp.com>2016-04-21 18:05:14 +0200
commitee804e1d329e3d7b11fc19707be568c09b9ff5dd (patch)
treef3e709ac4105295479d0da05f1fa927b66bfc22a /addons/website_form/controllers/main.py
parent73fbadf8ae3377e2d16f5538a9feaab0d9f7d315 (diff)
parent74d8cbc190d1a93ef699ee254b1efbc88d2a1e26 (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.py17
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,