diff --git a/src/api/v1/users/serializers.py b/src/api/v1/users/serializers.py index cb2a1de..97736ea 100644 --- a/src/api/v1/users/serializers.py +++ b/src/api/v1/users/serializers.py @@ -57,7 +57,7 @@ def validate_invited_by_code(self, value): """ user = self.instance - if value == user.invite_code: + if value.lower() == user.invite_code.lower(): raise serializers.ValidationError('Cannot specify your own code.') try: diff --git a/src/api/v1/users/views.py b/src/api/v1/users/views.py index b70cce0..b85e5ec 100644 --- a/src/api/v1/users/views.py +++ b/src/api/v1/users/views.py @@ -241,6 +241,11 @@ def post(self, request): {'invited_by_code': 'Неверный реферальный код.'}, status=status.HTTP_403_FORBIDDEN ) + if user.first().invite_code.lower() == invited_by_code.lower(): + return Response( + {'invited_by_code': 'Нельзя использовать свой код.'}, + status=status.HTTP_403_FORBIDDEN + ) user_data['invited_by_code'] = invited_by_code user, _ = User.objects.update_or_create( diff --git a/src/users/models.py b/src/users/models.py index 0152990..17eeefa 100644 --- a/src/users/models.py +++ b/src/users/models.py @@ -111,7 +111,7 @@ def clean(self): """ if self.invited_by_code: - if self.invited_by_code == self.invite_code: + if self.invited_by_code.lower() == self.invite_code.lower(): raise ValidationError( {'invited_by_code': 'Cannot specify your own code.'} )