diff --git a/CHANGELOG.md b/CHANGELOG.md index 5d535285..ae138d53 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,11 @@ This project adheres to semantic versioning. ### Removed +## [4.11.1] - 2024-10-15 + +### Changed +- Fixed a bug in the recent changes to instrument type and configuration type validation schemas + ## [4.11.0] - 2024-10-11 ### Changed diff --git a/observation_portal/observations/serializers.py b/observation_portal/observations/serializers.py index ee72ab31..9f2d9d1b 100644 --- a/observation_portal/observations/serializers.py +++ b/observation_portal/observations/serializers.py @@ -172,10 +172,9 @@ def validate(self, data): if not target_serializer.is_valid(): raise serializers.ValidationError(target_serializer.errors) - for i, instrument_config in enumerate(validated_data['instrument_configs']): - configuration_type_validation_helper = ConfigurationTypeValidationHelper(data['instrument_type'], data['type']) - instrument_config = configuration_type_validation_helper.validate(instrument_config) - validated_data['instrument_configs'][i] = instrument_config + + configuration_type_validation_helper = ConfigurationTypeValidationHelper(data['instrument_type'], data['type']) + validated_data = configuration_type_validation_helper.validate(validated_data) return validated_data diff --git a/observation_portal/requestgroups/serializers.py b/observation_portal/requestgroups/serializers.py index f92209f2..f9673a2d 100644 --- a/observation_portal/requestgroups/serializers.py +++ b/observation_portal/requestgroups/serializers.py @@ -402,10 +402,10 @@ def validate(self, data): # Validate the instrument_type and configuration_type properties related validation schema at the configuration level instrument_type_validation_helper = InstrumentTypeValidationHelper(instrument_type) - instrument_config = instrument_type_validation_helper.validate(data) + data = instrument_type_validation_helper.validate(data) configuration_type_validation_helper = ConfigurationTypeValidationHelper(instrument_type, data['type']) - instrument_config = configuration_type_validation_helper.validate(data) + data = configuration_type_validation_helper.validate(data) available_optical_elements = configdb.get_optical_elements(instrument_type) for i, instrument_config in enumerate(data['instrument_configs']): diff --git a/pyproject.toml b/pyproject.toml index 9425b6d5..fa956ddf 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "django-ocs-observation-portal" -version = "4.11.0" +version = "4.11.1" description = "The Observatory Control System (OCS) Observation Portal django apps" license = "GPL-3.0-only" authors = ["Observatory Control System Project "]