Просмотр исходного кода

Fixes #2369: Corrected time zone validation on site API serializer

Jeremy Stretch 7 лет назад
Родитель
Сommit
e1e41a768a
2 измененных файлов с 4 добавлено и 4 удалено
  1. 1 0
      CHANGELOG.md
  2. 3 4
      netbox/utilities/api.py

+ 1 - 0
CHANGELOG.md

@@ -10,6 +10,7 @@ v2.4.4 (FUTURE)
 
 * [#2355](https://github.com/digitalocean/netbox/issues/2355) - Added item count to inventory tab on device view
 * [#2368](https://github.com/digitalocean/netbox/issues/2368) - Record change in device changelog when altering cluster assignment
+* [#2369](https://github.com/digitalocean/netbox/issues/2369) - Corrected time zone validation on site API serializer
 * [#2370](https://github.com/digitalocean/netbox/issues/2370) - Redirect to parent device after deleting device bays
 * [#2374](https://github.com/digitalocean/netbox/issues/2374) - Fix toggling display of IP addresses in virtual machine interfaces list
 

+ 3 - 4
netbox/utilities/api.py

@@ -108,10 +108,9 @@ class TimeZoneField(Field):
     def to_internal_value(self, data):
         if not data:
             return ""
-        try:
-            return pytz.timezone(str(data))
-        except pytz.exceptions.UnknownTimeZoneError:
-            raise ValidationError('Invalid time zone "{}"'.format(data))
+        if data not in pytz.common_timezones:
+            raise ValidationError('Unknown time zone "{}" (see pytz.common_timezones for all options)'.format(data))
+        return pytz.timezone(data)
 
 
 class SerializedPKRelatedField(PrimaryKeyRelatedField):