Parcourir la source

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

Jeremy Stretch il y a 7 ans
Parent
commit
e1e41a768a
2 fichiers modifiés avec 4 ajouts et 4 suppressions
  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):