diff options
| author | 2021-02-22 09:05:54 +0200 | |
|---|---|---|
| committer | 2021-02-22 09:05:54 +0200 | |
| commit | 0ae69d9892db73029336e7b9ca95164dd80f828f (patch) | |
| tree | 3304705767c9447afd091fb5ff45d8690b6f3f07 | |
| parent | Migrate PATCH request for 2-table nominations system (diff) | |
Disable creating multiple nomination entries of one nomination for one actor
| -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  |