Apply restrictions to username characters during signup

This commit is contained in:
Eliot Berriot 2018-07-22 13:05:43 +02:00
parent dcd33693e5
commit ba76fe9f49
No known key found for this signature in database
GPG key ID: DD6965E2476E5C27
5 changed files with 39 additions and 1 deletions

View file

@ -1,8 +1,13 @@
import re
from django.conf import settings
from django.core import validators
from django.utils.deconstruct import deconstructible
from django.utils.translation import gettext_lazy as _
from rest_auth.serializers import PasswordResetSerializer as PRS
from rest_auth.registration.serializers import RegisterSerializer as RS
from rest_framework import serializers
from versatileimagefield.serializers import VersatileImageFieldSerializer
from funkwhale_api.activity import serializers as activity_serializers
@ -10,6 +15,19 @@ from funkwhale_api.activity import serializers as activity_serializers
from . import models
@deconstructible
class ASCIIUsernameValidator(validators.RegexValidator):
regex = r"^[\w]+$"
message = _(
"Enter a valid username. This value may contain only English letters, "
"numbers, and _ characters."
)
flags = re.ASCII
username_validators = [ASCIIUsernameValidator()]
class RegisterSerializer(RS):
invitation = serializers.CharField(
required=False, allow_null=True, allow_blank=True