diff --git a/CHANGELOG.md b/CHANGELOG.md index f5289f03684..2609cb23b10 100644 --- a/CHANGELOG.md +++ b/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 diff --git a/netbox/utilities/api.py b/netbox/utilities/api.py index f7d4293a77a..e3011caf41a 100644 --- a/netbox/utilities/api.py +++ b/netbox/utilities/api.py @@ -108,10 +108,9 @@ def to_representation(self, obj): 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):