InvitationSerializer: fix user validator.

This commit is contained in:
Tom Hacohen 2020-05-24 17:52:09 +03:00
parent 7f7d223b9b
commit 118dbea4e3

View File

@ -282,13 +282,16 @@ class CollectionInvitationSerializer(serializers.ModelSerializer):
def get_from_pubkey(self, obj): def get_from_pubkey(self, obj):
return b64encode(obj.fromMember.user.userinfo.pubkey) return b64encode(obj.fromMember.user.userinfo.pubkey)
def validate_user(self, value):
request = self.context['request']
if request.user == value:
raise serializers.ValidationError('Inviting yourself is not allowed')
def create(self, validated_data): def create(self, validated_data):
collection = self.context['collection'] collection = self.context['collection']
request = self.context['request'] request = self.context['request']
if request.user == validated_data.get('user'):
raise serializers.ValidationError('Inviting yourself is not allowed')
member = collection.members.get(user=request.user) member = collection.members.get(user=request.user)
with transaction.atomic(): with transaction.atomic():