diff --git a/api/funkwhale_api/manage/serializers.py b/api/funkwhale_api/manage/serializers.py index d1a9ebb84..c639d3a3c 100644 --- a/api/funkwhale_api/manage/serializers.py +++ b/api/funkwhale_api/manage/serializers.py @@ -146,7 +146,7 @@ class ManageInvitationSerializer(serializers.ModelSerializer): def validate_code(self, value): if not 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( "An invitation with this code already exists" ) diff --git a/api/funkwhale_api/users/models.py b/api/funkwhale_api/users/models.py index e205d04d7..ec9c39fd6 100644 --- a/api/funkwhale_api/users/models.py +++ b/api/funkwhale_api/users/models.py @@ -152,7 +152,7 @@ class User(AbstractUser): def generate_code(length=10): return "".join( - random.SystemRandom().choice(string.ascii_lowercase) for _ in range(length) + random.SystemRandom().choice(string.ascii_uppercase) for _ in range(length) ) diff --git a/api/funkwhale_api/users/serializers.py b/api/funkwhale_api/users/serializers.py index f857e8da6..438951265 100644 --- a/api/funkwhale_api/users/serializers.py +++ b/api/funkwhale_api/users/serializers.py @@ -18,7 +18,7 @@ class RegisterSerializer(RS): return try: - return models.Invitation.objects.open().get(code=value.lower()) + return models.Invitation.objects.open().get(code__iexact=value) except models.Invitation.DoesNotExist: raise serializers.ValidationError("Invalid invitation code") diff --git a/api/tests/users/test_views.py b/api/tests/users/test_views.py index 0ad67fb86..723360193 100644 --- a/api/tests/users/test_views.py +++ b/api/tests/users/test_views.py @@ -52,7 +52,7 @@ def test_can_disable_registration_view(preferences, api_client, db): def test_can_signup_with_invitation(preferences, factories, api_client): url = reverse("rest_register") - invitation = factories["users.Invitation"](code="hello") + invitation = factories["users.Invitation"](code="Hello") data = { "username": "test1", "email": "test1@test.com",