Skip to content
Snippets Groups Projects
Commit bfcabbfa authored by Valentin Rigal's avatar Valentin Rigal
Browse files

Update CreateDatasetElementsSelection endpoint

parent 926eca67
No related branches found
No related tags found
No related merge requests found
This commit is part of merge request !2276. Comments created here will be created in the context of that merge request.
......@@ -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