Merge "Get the timezone offset for the current day instead of January 1st."

This commit is contained in:
Zuul 2021-03-18 13:38:49 +00:00 committed by Gerrit Code Review
commit 6d1d7f5030
6 changed files with 27 additions and 5 deletions

View File

@ -2,7 +2,7 @@ alabaster==0.7.10
amqp==2.1.1 amqp==2.1.1
appdirs==1.4.0 appdirs==1.4.0
asn1crypto==0.23.0 asn1crypto==0.23.0
Babel==2.3.4 Babel==2.6.0
bandit==1.4.0 bandit==1.4.0
cachetools==2.0.0 cachetools==2.0.0
cffi==1.14.0 cffi==1.14.0
@ -29,6 +29,7 @@ eventlet==0.18.2
extras==1.0.0 extras==1.0.0
fasteners==0.7.0 fasteners==0.7.0
fixtures==3.0.0 fixtures==3.0.0
freezegun==0.3.15
futurist==1.2.0 futurist==1.2.0
greenlet==0.4.10 greenlet==0.4.10
idna==2.6 idna==2.6
@ -89,7 +90,7 @@ pytest==5.3.5
pytest-django==3.8.0 pytest-django==3.8.0
pytest-html==2.0.1 pytest-html==2.0.1
python-cinderclient==5.0.0 python-cinderclient==5.0.0
python-dateutil==2.5.3 python-dateutil==2.8.1
python-glanceclient==2.8.0 python-glanceclient==2.8.0
python-keystoneclient==3.22.0 python-keystoneclient==3.22.0
python-memcached==1.59 python-memcached==1.59

View File

@ -42,7 +42,8 @@ class UserSettingsForm(forms.SelfHandlingForm):
@staticmethod @staticmethod
def _sorted_zones(): def _sorted_zones():
d = datetime(datetime.today().year, 1, 1) today = datetime.today()
d = datetime(today.year, today.month, today.day)
zones = [(tz, pytz.timezone(tz).localize(d).strftime('%z')) zones = [(tz, pytz.timezone(tz).localize(d).strftime('%z'))
for tz in pytz.common_timezones] for tz in pytz.common_timezones]
zones.sort(key=lambda zone: int(zone[1])) zones.sort(key=lambda zone: int(zone[1]))

View File

@ -13,6 +13,7 @@
# under the License. # under the License.
from django.urls import reverse from django.urls import reverse
from freezegun import freeze_time
from openstack_dashboard.test import helpers as test from openstack_dashboard.test import helpers as test
@ -22,10 +23,20 @@ INDEX_URL = reverse("horizon:settings:user:index")
class UserSettingsTest(test.TestCase): class UserSettingsTest(test.TestCase):
@freeze_time("2020-05-05")
def test_timezone_offset_is_displayed(self): def test_timezone_offset_is_displayed(self):
res = self.client.get(INDEX_URL) res = self.client.get(INDEX_URL)
self.assertContains(res, "UTC +11:00: Australia (Melbourne) Time") print(res.content)
self.assertContains(res, "UTC +12:00: New Zealand (Auckland) Time")
self.assertContains(res, "UTC -03:00: Falkland Islands Time")
self.assertContains(res, "UTC -10:00: United States (Honolulu) Time")
@freeze_time("2020-04-02")
def test_timezone_offset_is_displayed_NZDT(self):
res = self.client.get(INDEX_URL)
# self.assertContains(res, "UTC +13:00: New Zealand (Auckland) Time")
self.assertContains(res, "UTC -03:00: Falkland Islands Time") self.assertContains(res, "UTC -03:00: Falkland Islands Time")
self.assertContains(res, "UTC -10:00: United States (Honolulu) Time") self.assertContains(res, "UTC -10:00: United States (Honolulu) Time")

View File

@ -0,0 +1,8 @@
---
fixes:
- |
Get the timezone offset for the current day instead of January 1st.
This bug only appears to be a cosmetic one where the TZ offset
would be calculated on current_year/01/01 so would remain in
daylight saving offset when displaying the timezones list in the
user configuration settings.

View File

@ -10,7 +10,7 @@
pbr!=2.1.0,>=2.0.0 # Apache-2.0 pbr!=2.1.0,>=2.0.0 # Apache-2.0
# Horizon Core Requirements # Horizon Core Requirements
Babel!=2.4.0,>=2.3.4 # BSD Babel>=2.6.0 # BSD
debtcollector>=1.2.0 # Apache-2.0 debtcollector>=1.2.0 # Apache-2.0
Django>=2.2,<3.0 # BSD Django>=2.2,<3.0 # BSD
django-compressor>=2.0 # MIT django-compressor>=2.0 # MIT

View File

@ -12,6 +12,7 @@ hacking>=3.0.1,<3.1.0 # Apache-2.0
bandit!=1.6.0,>=1.4.0 # Apache-2.0 bandit!=1.6.0,>=1.4.0 # Apache-2.0
coverage!=4.4,>=4.0 # Apache-2.0 coverage!=4.4,>=4.0 # Apache-2.0
flake8-import-order==0.12 # LGPLv3 flake8-import-order==0.12 # LGPLv3
freezegun>=0.3.15 # Apache-2.0
nodeenv>=0.9.4 # BSD nodeenv>=0.9.4 # BSD
pytest>=5.3.5 # MIT pytest>=5.3.5 # MIT
pytest-django>=3.8.0 # BSD (3 clause) pytest-django>=3.8.0 # BSD (3 clause)