summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicolas Lempereur <nle@odoo.com>2018-01-15 16:24:52 +0100
committerNicolas Lempereur <nle@odoo.com>2018-01-15 16:31:19 +0100
commitef8cd11a6be25cbb5288e8ab88b4aafa2fa0119c (patch)
tree903b6a3ed4681b71e97949f4aca9fb4ce1293728
parent5a83c9143ddb881e4459520ea6ce81f8c258442b (diff)
[FIX] website{,_slides}: display date in locale
In 10.0 since 52f268d0 some parts such as the date/datetime widget are adapted to the current locale and not just displayed in english. But the dates in the slides module are always in english because they don't wait for the locale to be loaded. To wait for the locale, this commit also adds a reference localeDef on the website.website module. note: this fix is only for [10.0,11.0[, another fix must be done in 11.0 opw-804555 closes #22241
-rw-r--r--addons/website/static/src/js/website.js3
-rw-r--r--addons/website_slides/static/src/js/slides.js28
2 files changed, 17 insertions, 14 deletions
diff --git a/addons/website/static/src/js/website.js b/addons/website/static/src/js/website.js
index 3c063ba60dc..d9d3943dcc1 100644
--- a/addons/website/static/src/js/website.js
+++ b/addons/website/static/src/js/website.js
@@ -241,7 +241,7 @@ odoo.define('website.website', function (require) {
/* Load localizations */
var lang = utils.get_cookie('website_lang') || $('html').attr('lang') || 'en_US';
- ajax.loadJS('/web/webclient/locale/' + lang.replace('-', '_'));
+ var localeDef = ajax.loadJS('/web/webclient/locale/' + lang.replace('-', '_'));
/**
* Object who contains all method and bind for the top bar, the template is create server side.
@@ -291,6 +291,7 @@ odoo.define('website.website', function (require) {
console.warn("website.ready is deprecated: Please use require('web_editor.base').ready()");
return base.ready();
},
+ localeDef: localeDef,
};
return data;
});
diff --git a/addons/website_slides/static/src/js/slides.js b/addons/website_slides/static/src/js/slides.js
index c4df6643f99..93ff942ab83 100644
--- a/addons/website_slides/static/src/js/slides.js
+++ b/addons/website_slides/static/src/js/slides.js
@@ -7,6 +7,7 @@ var core = require('web.core');
var time = require('web.time');
var Widget = require('web.Widget');
var local_storage = require('web.local_storage');
+var website = require('website.website');
var _t = core._t;
var page_widgets = {};
@@ -15,19 +16,20 @@ $(document).ready(function () {
var widget_parent = $('body');
-
- $("timeago.timeago").each(function (index, el) {
- var datetime = $(el).attr('datetime'),
- datetime_obj = time.str_to_datetime(datetime),
- // if presentation 7 days, 24 hours, 60 min, 60 second, 1000 millis old(one week)
- // then return fix formate string else timeago
- display_str = "";
- if (datetime_obj && new Date().getTime() - datetime_obj.getTime() > 7 * 24 * 60 * 60 * 1000) {
- display_str = datetime_obj.toDateString();
- } else {
- display_str = moment(datetime_obj).fromNow();
- }
- $(el).text(display_str);
+ website.localeDef.then(function () {
+ $("timeago.timeago").each(function (index, el) {
+ var datetime = $(el).attr('datetime'),
+ datetime_obj = time.str_to_datetime(datetime),
+ // if presentation 7 days, 24 hours, 60 min, 60 second, 1000 millis old(one week)
+ // then return fix formate string else timeago
+ display_str = "";
+ if (datetime_obj && new Date().getTime() - datetime_obj.getTime() > 7 * 24 * 60 * 60 * 1000) {
+ display_str = moment(datetime_obj).format('ll');
+ } else {
+ display_str = moment(datetime_obj).fromNow();
+ }
+ $(el).text(display_str);
+ });
});
// To prevent showing channel settings alert box once user closed it.