Skip to content

Commit

Permalink
Merge pull request #2 from temirovazat/develop
Browse files Browse the repository at this point in the history
Develop
  • Loading branch information
temirovazat authored Nov 16, 2023
2 parents 8ef532e + 84cd683 commit 63b8443
Show file tree
Hide file tree
Showing 3 changed files with 15 additions and 4 deletions.
6 changes: 4 additions & 2 deletions src/api/v1/users/serializers.py
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,9 @@ def get_invited(self, obj):
This method retrieves the list of users invited by the current user.
"""
invited_users = User.objects.filter(invited_by_code=obj.invite_code)
invited_users = User.objects.filter(
invited_by_code__iexact=obj.invite_code
)
invited_serializer = InvitedUserSerializer(invited_users, many=True)
return invited_serializer.data

Expand All @@ -55,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:
Expand Down
11 changes: 10 additions & 1 deletion src/api/v1/users/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -235,12 +235,21 @@ def post(self, request):
user_data = {'invited_by_code': None}

if invited_by_code:
user = User.objects.filter(invite_code=invited_by_code)
user = User.objects.filter(invite_code__iexact=invited_by_code)
if not user.exists():
return Response(
{'invited_by_code': 'Неверный реферальный код.'},
status=status.HTTP_403_FORBIDDEN
)
ref_user = user.first()
if (
ref_user.phone == phone
and ref_user.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(
Expand Down
2 changes: 1 addition & 1 deletion src/users/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -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.'}
)
Expand Down

0 comments on commit 63b8443

Please sign in to comment.