Skip to content
Snippets Groups Projects
Commit f722a61f authored by Valentin Rigal's avatar Valentin Rigal Committed by Erwan Rouchet
Browse files

Update CreateDatasetElementsSelection endpoint

parent 734e60a4
No related branches found
No related tags found
1 merge request!2276Dataset unique elements
......@@ -791,6 +791,20 @@ class SelectionDatasetElementSerializer(serializers.Serializer):
raise ValidationError(f"Dataset {set.dataset.id} is not part of corpus {corpus.name}.")
if set.dataset.state == DatasetState.Complete:
raise ValidationError(f"Dataset {set.dataset.id} is marked as completed.")
# Ensure adding elements to the dataset does not break uniqueness constraint
selection = self.context["request"].user.selected_elements.filter(corpus=corpus)
if set.dataset.unique_elements and (
existing_set := (
set.dataset.sets
.exclude(id=set.id)
.filter(set_elements__element_id__in=selection.values_list("id", flat=True))
.values_list("name", flat=True)
.first()
)
):
raise ValidationError([
f"The dataset prevent duplication and this element is already present in set {existing_set}."
])
return set
def create(self, validated_data):
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment