Skip to content
Snippets Groups Projects
Verified Commit 46ecc3f1 authored by Eliot Berriot's avatar Eliot Berriot
Browse files

See #248: ensure invitation codes are case insensitive

parent 7cfa6129
No related branches found
No related tags found
No related merge requests found
...@@ -146,7 +146,7 @@ class ManageInvitationSerializer(serializers.ModelSerializer): ...@@ -146,7 +146,7 @@ class ManageInvitationSerializer(serializers.ModelSerializer):
def validate_code(self, value): def validate_code(self, value):
if not value: if not value:
return value return value
if users_models.Invitation.objects.filter(code=value.lower()).exists(): if users_models.Invitation.objects.filter(code__iexact=value).exists():
raise serializers.ValidationError( raise serializers.ValidationError(
"An invitation with this code already exists" "An invitation with this code already exists"
) )
......
...@@ -152,7 +152,7 @@ class User(AbstractUser): ...@@ -152,7 +152,7 @@ class User(AbstractUser):
def generate_code(length=10): def generate_code(length=10):
return "".join( return "".join(
random.SystemRandom().choice(string.ascii_lowercase) for _ in range(length) random.SystemRandom().choice(string.ascii_uppercase) for _ in range(length)
) )
......
...@@ -18,7 +18,7 @@ class RegisterSerializer(RS): ...@@ -18,7 +18,7 @@ class RegisterSerializer(RS):
return return
try: try:
return models.Invitation.objects.open().get(code=value.lower()) return models.Invitation.objects.open().get(code__iexact=value)
except models.Invitation.DoesNotExist: except models.Invitation.DoesNotExist:
raise serializers.ValidationError("Invalid invitation code") raise serializers.ValidationError("Invalid invitation code")
......
...@@ -52,7 +52,7 @@ def test_can_disable_registration_view(preferences, api_client, db): ...@@ -52,7 +52,7 @@ def test_can_disable_registration_view(preferences, api_client, db):
def test_can_signup_with_invitation(preferences, factories, api_client): def test_can_signup_with_invitation(preferences, factories, api_client):
url = reverse("rest_register") url = reverse("rest_register")
invitation = factories["users.Invitation"](code="hello") invitation = factories["users.Invitation"](code="Hello")
data = { data = {
"username": "test1", "username": "test1",
"email": "test1@test.com", "email": "test1@test.com",
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment