diff --git a/frappe/boot.py b/frappe/boot.py index eb755c5788..5fd03b7ad1 100644 --- a/frappe/boot.py +++ b/frappe/boot.py @@ -146,7 +146,6 @@ def add_timezone_info(bootinfo): import frappe.utils.momentjs bootinfo.timezone_info = {"zones":{}, "rules":{}, "links":{}} - bootinfo.timezone_info[user] = frappe.utils.momentjs.update(user, - bootinfo.timezone_info) - bootinfo.timezone_info[system] = frappe.utils.momentjs.update(system, - bootinfo.timezone_info) + frappe.utils.momentjs.update(user, bootinfo.timezone_info) + frappe.utils.momentjs.update(system, bootinfo.timezone_info) + diff --git a/frappe/public/js/frappe/misc/pretty_date.js b/frappe/public/js/frappe/misc/pretty_date.js index 7c6dcdbb01..9ea39d63a0 100644 --- a/frappe/public/js/frappe/misc/pretty_date.js +++ b/frappe/public/js/frappe/misc/pretty_date.js @@ -1,6 +1,10 @@ function prettyDate(time){ if(moment) { - if(frappe.boot.user.time_zone && frappe.boot.user.time_zone != sys_defaults.time_zone) { + var user_timezone = frappe.boot.user.time_zone; + var system_timezone = sys_defaults.time_zone; + var zones = frappe.boot.timezone_info.zones; + if (user_timezone && (user_timezone != system_timezone) + && zones[user_timezone] && zones[system_timezone]) { return moment.tz(time, sys_defaults.time_zone).tz(frappe.boot.user.time_zone).fromNow(); } else { return moment(time).fromNow(); diff --git a/frappe/utils/momentjs.py b/frappe/utils/momentjs.py index 0effae324b..c6817976e6 100644 --- a/frappe/utils/momentjs.py +++ b/frappe/utils/momentjs.py @@ -3,6 +3,9 @@ def update(tz, out): ltz = data["links"].get(tz, tz) zone = data["zones"].get(ltz) + if not zone: + return + out["zones"][ltz] = zone out["links"][tz] = ltz for z in zone: