timezone: Only look up canonical time zones from the system.

Legacy time zone aliases were removed from the Debian tzdata package
in tzdata 2023c-8.

https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1040997

Signed-off-by: Anders Kaseorg <anders@zulip.com>
This commit is contained in:
Anders Kaseorg
2024-02-27 16:36:17 -08:00
committed by Tim Abbott
parent 119900120e
commit 59b0548433
4 changed files with 11 additions and 5 deletions

View File

@@ -11,6 +11,7 @@ from django.utils.translation import gettext as _
from confirmation.models import one_click_unsubscribe_link
from zerver.lib.queue import queue_json_publish
from zerver.lib.send_email import FromAddress
from zerver.lib.timezone import canonicalize_timezone
from zerver.models import UserProfile
if sys.version_info < (3, 9): # nocoverage
@@ -96,7 +97,7 @@ def email_on_new_login(sender: Any, user: UserProfile, request: Any, **kwargs: A
user_tz = user.timezone
if user_tz == "":
user_tz = timezone_get_current_timezone_name()
local_time = timezone_now().astimezone(zoneinfo.ZoneInfo(user_tz))
local_time = timezone_now().astimezone(zoneinfo.ZoneInfo(canonicalize_timezone(user_tz)))
if user.twenty_four_hour_time:
hhmm_string = local_time.strftime("%H:%M")
else: