[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
This commit is contained in:
@@ -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;
|
||||
});
|
||||
|
||||
@@ -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.
|
||||
|
||||
Reference in New Issue
Block a user