yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #95674
[Bug 2085126] Re: Horizon dashboard crashes on non-exisiting TimeZones
Reviewed: https://review.opendev.org/c/openstack/horizon/+/939546
Committed: https://opendev.org/openstack/horizon/commit/5190d6e5540cb1344d48f603528ca0eb73ada436
Submitter: "Zuul (22348)"
Branch: master
commit 5190d6e5540cb1344d48f603528ca0eb73ada436
Author: Owen McGonagle <omcgonag@xxxxxxxxxx>
Date: Fri Jan 17 11:59:29 2025 -0500
Non-existent timezone fix
Closes-Bug: #2085126
Change-Id: I37c5462be8de39a7280208d55b64fc0430d0c584
** Changed in: horizon
Status: In Progress => Fix Released
--
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Dashboard (Horizon).
https://bugs.launchpad.net/bugs/2085126
Title:
Horizon dashboard crashes on non-exisiting TimeZones
Status in OpenStack Dashboard (Horizon):
Fix Released
Bug description:
On opening the 'Settings' form the top right menu, the user gets the
settings page on which he can change password ar select a different
timezone. The timezones that are presented are created from all
existing timezones. However the locales may not be available for alle
these timezones. For example when 'US/Samoa' is not present, the UI
will crash.
Proposed change is to only present timezones to the user for which a
locale settings is available
Example of Error:
FileNotFoundError at /settings/
[Errno 2] No such file or directory: '/usr/lib/python3/dist-packages/pytz/zoneinfo/US/Samoa'
Request Method: GET
Request URL: https://keystone.example.com/dashboard/settings/
Django Version: 4.2.15
Exception Type: FileNotFoundError
Exception Value:
[Errno 2] No such file or directory: '/usr/lib/python3/dist-packages/pytz/zoneinfo/US/Samoa'
This is proposed change:
NOTE: Sorry for formatting of below code, I can't get get spaces being
respected by launchpad, Grrr
<pre>
a/openstack_dashboard/dashboards/settings/user/forms.py b/openstack_dashboard/dashboards/settings/user/forms.py
index 1c1f58dfa..d533ef3f6 100644
--- a/openstack_dashboard/dashboards/settings/user/forms.py
+++ b/openstack_dashboard/dashboards/settings/user/forms.py
@@ -82,8 +82,12 @@ class UserSettingsForm(forms.SelfHandlingForm):
elif tz == "GMT":
tz_name = _("GMT")
else:
- tz_label = babel.dates.get_timezone_location(
- tz, locale=babel_locale)
+ try:
+ tz_label = babel.dates.get_timezone_location(
+ tz, locale=babel_locale)
+ except:
+ continue
+
# Translators: UTC offset and timezone label
tz_name = _("%(offset)s: %(label)s") % {"offset": utc_offset,
"label": tz_label}
</pre>
This is intended code fragment:
for tz, offset in self._sorted_zones():
try:
utc_offset = _("UTC %(hour)s:%(min)s") % {"hour": offset[:3],
"min": offset[3:]}
except Exception:
utc_offset = ""
if tz == "UTC":
tz_name = _("UTC")
elif tz == "GMT":
tz_name = _("GMT")
else:
try:
tz_label = babel.dates.get_timezone_location(
tz, locale=babel_locale)
except:
continue
# Translators: UTC offset and timezone label
tz_name = _("%(offset)s: %(label)s") % {"offset": utc_offset,
"label": tz_label}
timezones.append((tz, tz_name))
To manage notifications about this bug go to:
https://bugs.launchpad.net/horizon/+bug/2085126/+subscriptions
References