This commit is contained in:
shamoon 2025-01-25 22:42:42 -08:00
parent aeb52caf9d
commit 251566691a
No known key found for this signature in database

View File

@ -671,7 +671,6 @@ class CustomFieldInstanceSerializer(serializers.ModelSerializer):
""" """
data = super().validate(data) data = super().validate(data)
field: CustomField = data["field"] field: CustomField = data["field"]
if "value" in data and data["value"] is not None: if "value" in data and data["value"] is not None:
if ( if (
field.data_type == CustomField.FieldDataType.URL field.data_type == CustomField.FieldDataType.URL
@ -699,7 +698,6 @@ class CustomFieldInstanceSerializer(serializers.ModelSerializer):
MaxLengthValidator(limit_value=128)(data["value"]) MaxLengthValidator(limit_value=128)(data["value"])
elif field.data_type == CustomField.FieldDataType.SELECT: elif field.data_type == CustomField.FieldDataType.SELECT:
select_options = field.extra_data["select_options"] select_options = field.extra_data["select_options"]
try: try:
next( next(
option option
@ -725,16 +723,18 @@ class CustomFieldInstanceSerializer(serializers.ModelSerializer):
return data return data
def to_internal_value(self, data): def get_api_version(self):
ret = super().to_internal_value(data) return int(
api_version = int(
self.context.get("request").version self.context.get("request").version
if self.context.get("request") if self.context.get("request")
else settings.REST_FRAMEWORK["DEFAULT_VERSION"], else settings.REST_FRAMEWORK["DEFAULT_VERSION"],
) )
def to_internal_value(self, data):
ret = super().to_internal_value(data)
if ( if (
api_version < 7 self.get_api_version() < 7
and ret.get("field").data_type == CustomField.FieldDataType.SELECT and ret.get("field").data_type == CustomField.FieldDataType.SELECT
and ret.get("value") is not None and ret.get("value") is not None
): ):
@ -749,13 +749,8 @@ class CustomFieldInstanceSerializer(serializers.ModelSerializer):
def to_representation(self, instance): def to_representation(self, instance):
ret = super().to_representation(instance) ret = super().to_representation(instance)
api_version = int(
self.context.get("request").version
if self.context.get("request")
else settings.REST_FRAMEWORK["DEFAULT_VERSION"],
)
if ( if (
api_version < 7 self.get_api_version() < 7
and instance.field.data_type == CustomField.FieldDataType.SELECT and instance.field.data_type == CustomField.FieldDataType.SELECT
): ):
# return the index of the option in the field.extra_data["select_options"] list # return the index of the option in the field.extra_data["select_options"] list