diff options
Diffstat (limited to '')
| -rw-r--r-- | pydis_site/apps/api/viewsets/bot/nomination.py | 10 | 
1 files changed, 10 insertions, 0 deletions
diff --git a/pydis_site/apps/api/viewsets/bot/nomination.py b/pydis_site/apps/api/viewsets/bot/nomination.py index 14dee9bc..81fb43f7 100644 --- a/pydis_site/apps/api/viewsets/bot/nomination.py +++ b/pydis_site/apps/api/viewsets/bot/nomination.py @@ -252,6 +252,16 @@ class NominationViewSet(CreateModelMixin, RetrieveModelMixin, ListModelMixin, Ge              data=ChainMap(request.data, {"nomination": nomination_filter[0].id})          )          entry_serializer.is_valid(raise_exception=True) + +        # Don't allow user creating many nomination entries for one nomination +        if NominationEntry.objects.filter( +                nomination_id=nomination_filter[0].id, +                actor__id=entry_serializer.validated_data["actor"].id +        ).exists(): +            raise ValidationError( +                {'actor': 'This actor have already created nomination entry for this nomination.'} +            ) +          NominationEntry.objects.create(**entry_serializer.validated_data)          data = NominationSerializer(nomination_filter[0]).data  |