From 4a67a0646761802e5b6f1996f74ea7f7a9a1f2d9 Mon Sep 17 00:00:00 2001 From: SebastiaanZ <33516116+SebastiaanZ@users.noreply.github.com> Date: Thu, 25 Apr 2019 20:30:37 +0200 Subject: Adding validate to Nomination serializer --- pydis_site/apps/api/serializers.py | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) (limited to 'pydis_site') diff --git a/pydis_site/apps/api/serializers.py b/pydis_site/apps/api/serializers.py index 54f26466..6fb9d826 100644 --- a/pydis_site/apps/api/serializers.py +++ b/pydis_site/apps/api/serializers.py @@ -173,12 +173,22 @@ class UserSerializer(BulkSerializerMixin, ModelSerializer): class NominationSerializer(ModelSerializer): - author = PrimaryKeyRelatedField(queryset=User.objects.all()) + actor = PrimaryKeyRelatedField(queryset=User.objects.all()) user = PrimaryKeyRelatedField(queryset=User.objects.all()) class Meta: model = Nomination fields = ( - 'id', 'active', 'author', 'reason', 'user', + 'id', 'active', 'actor', 'reason', 'user', 'inserted_at', 'unnominate_reason', 'unwatched_at') depth = 1 + + def validate(self, attrs): + active = attrs.get("active") + + unnominate_reason = attrs.get("unnominate_reason") + if active and unnominate_reason: + raise ValidationError( + {'unnominate_reason': "An active nomination can't have an unnominate reason"} + ) + return attrs -- cgit v1.2.3