class Migration(migrations.Migration):

    dependencies = [
        ('auth', '0006_require_contenttypes_0002'),
    ]

    operations = [
        migrations.AlterField(
            model_name='user',
            name='username',
            field=models.CharField(
                error_messages={
                    'unique': 'A user with that username already exists.'
                },
                help_text=
                'Required. 30 characters or fewer. Letters, digits and @/./+/-/_ only.',
                max_length=30,
                unique=True,
                validators=[
                    validators.UnicodeUsernameValidator()
                    if six.PY3 else validators.ASCIIUsernameValidator()
                ],
                verbose_name='username',
            ),
        ),
    ]
class Migration(migrations.Migration):

    dependencies = [
        ('email_auth', '0003_django110'),
    ]

    operations = []

    if VERSION >= (1, 10):
        from django.contrib.auth import validators
        from django.utils import six

        operations.append(
            migrations.AlterField(
                model_name='user',
                name='username',
                field=models.CharField(
                    error_messages={
                        'unique': 'A user with that username already exists.'
                    },
                    help_text=
                    'Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only.',
                    max_length=150,
                    unique=True,
                    validators=[
                        validators.UnicodeUsernameValidator()
                        if six.PY3 else validators.ASCIIUsernameValidator()
                    ],
                    verbose_name='username'),
            ))
class Migration(migrations.Migration):

    dependencies = [
        ('auth', '0003_alter_user_email_max_length'),
    ]

    # No database changes; modifies validators and error_messages (#13147).
    operations = [
        migrations.AlterField(
            model_name='user',
            name='username',
            field=models.CharField(
                error_messages={
                    'unique': 'A user with that username already exists.'
                },
                max_length=30,
                validators=[
                    validators.UnicodeUsernameValidator()
                    if six.PY3 else validators.ASCIIUsernameValidator()
                ],
                help_text=
                'Required. 30 characters or fewer. Letters, digits and @/./+/-/_ only.',
                unique=True,
                verbose_name='username'),
        ),
    ]
Ejemplo n.º 4
0
 def test_ascii_validator(self):
     valid_usernames = ['glenn', 'GLEnN', 'jean-marc']
     invalid_usernames = ["o'connell", 'Éric', 'jean marc', "أحمد"]
     v = validators.ASCIIUsernameValidator()
     for valid in valid_usernames:
         v(valid)
     for invalid in invalid_usernames:
         with self.assertRaises(ValidationError):
             v(invalid)
Ejemplo n.º 5
0
 def test_ascii_validator(self):
     valid_usernames = ["glenn", "GLEnN", "jean-marc"]
     invalid_usernames = [
         "o'connell",
         "Éric",
         "jean marc",
         "أحمد",
         "trailingnewline\n",
     ]
     v = validators.ASCIIUsernameValidator()
     for valid in valid_usernames:
         with self.subTest(valid=valid):
             v(valid)
     for invalid in invalid_usernames:
         with self.subTest(invalid=invalid):
             with self.assertRaises(ValidationError):
                 v(invalid)
Ejemplo n.º 6
0
class LoginForm(forms.Form):
    login_username = forms.CharField(
        max_length=32,
        min_length=3,
        required=True,
        strip=False,
        validators=[validators.ASCIIUsernameValidator()],
        widget=forms.TextInput({
            "placeholder": "Username",
            "aria-label": "Username",
            "class": "form-control"
        }),
        label="Username")
    login_password = forms.CharField(
        strip=False,
        required=True,
        label="Password",
        widget=forms.PasswordInput({
            "placeholder": "Password",
            "aria-label": "Password",
            "class": "form-control"
        }),
    )
Ejemplo n.º 7
0
class Migration(migrations.Migration):

    dependencies = [
        ('contenttypes', '__first__'),
    ]

    operations = [
        migrations.CreateModel(
            name='Permission',
            fields=[
                ('id',
                 models.AutoField(verbose_name='ID',
                                  serialize=False,
                                  auto_created=True,
                                  primary_key=True)),
                ('name', models.CharField(max_length=50, verbose_name='name')),
                ('content_type',
                 models.ForeignKey(
                     to='contenttypes.ContentType',
                     on_delete=models.CASCADE,
                     to_field='id',
                     verbose_name='content type',
                 )),
                ('codename',
                 models.CharField(max_length=100, verbose_name='codename')),
            ],
            options={
                'ordering':
                ('content_type__app_label', 'content_type__model', 'codename'),
                'unique_together':
                set([('content_type', 'codename')]),
                'verbose_name':
                'permission',
                'verbose_name_plural':
                'permissions',
            },
            managers=[
                ('objects', django.contrib.auth.models.PermissionManager()),
            ],
        ),
        migrations.CreateModel(
            name='Group',
            fields=[
                ('id',
                 models.AutoField(verbose_name='ID',
                                  serialize=False,
                                  auto_created=True,
                                  primary_key=True)),
                ('name',
                 models.CharField(unique=True,
                                  max_length=80,
                                  verbose_name='name')),
                ('permissions',
                 models.ManyToManyField(to='auth.Permission',
                                        verbose_name='permissions',
                                        blank=True)),
            ],
            options={
                'verbose_name': 'group',
                'verbose_name_plural': 'groups',
            },
            managers=[
                ('objects', django.contrib.auth.models.GroupManager()),
            ],
        ),
        migrations.CreateModel(
            name='User',
            fields=[
                ('id',
                 models.AutoField(verbose_name='ID',
                                  serialize=False,
                                  auto_created=True,
                                  primary_key=True)),
                ('password',
                 models.CharField(max_length=128, verbose_name='password')),
                ('last_login',
                 models.DateTimeField(default=timezone.now,
                                      verbose_name='last login')),
                ('is_superuser',
                 models.BooleanField(
                     default=False,
                     help_text=
                     'Designates that this user has all permissions without explicitly assigning them.',
                     verbose_name='superuser status')),
                ('username',
                 models.CharField(
                     help_text=
                     'Required. 30 characters or fewer. Letters, digits and @/./+/-/_ only.',
                     unique=True,
                     max_length=30,
                     verbose_name='username',
                     validators=[
                         validators.UnicodeUsernameValidator()
                         if six.PY3 else validators.ASCIIUsernameValidator()
                     ],
                 )),
                ('first_name',
                 models.CharField(max_length=30,
                                  verbose_name='first name',
                                  blank=True)),
                ('last_name',
                 models.CharField(max_length=30,
                                  verbose_name='last name',
                                  blank=True)),
                ('email',
                 models.EmailField(max_length=75,
                                   verbose_name='email address',
                                   blank=True)),
                ('is_staff',
                 models.BooleanField(
                     default=False,
                     help_text=
                     'Designates whether the user can log into this admin site.',
                     verbose_name='staff status')),
                ('is_active',
                 models.BooleanField(
                     default=True,
                     verbose_name='active',
                     help_text=
                     ('Designates whether this user should be treated as active. Unselect this instead of deleting '
                      'accounts.'))),
                ('date_joined',
                 models.DateTimeField(default=timezone.now,
                                      verbose_name='date joined')),
                ('groups',
                 models.ManyToManyField(
                     to='auth.Group',
                     verbose_name='groups',
                     blank=True,
                     related_name='user_set',
                     related_query_name='user',
                     help_text=
                     ('The groups this user belongs to. A user will get all permissions granted to each of their '
                      'groups.'))),
                ('user_permissions',
                 models.ManyToManyField(
                     to='auth.Permission',
                     verbose_name='user permissions',
                     blank=True,
                     help_text='Specific permissions for this user.',
                     related_name='user_set',
                     related_query_name='user')),
            ],
            options={
                'swappable': 'AUTH_USER_MODEL',
                'verbose_name': 'user',
                'verbose_name_plural': 'users',
            },
            managers=[
                ('objects', django.contrib.auth.models.UserManager()),
            ],
        ),
    ]
Ejemplo n.º 8
0
class RegisterForm(forms.Form):
    register_username = forms.CharField(
        max_length=32,
        min_length=3,
        required=True,
        strip=False,
        validators=[validators.ASCIIUsernameValidator()],
        widget=forms.TextInput({
            "placeholder": "Username",
            "aria-label": "Username",
            "class": "form-control"
        }),
        label="Username")

    register_first_name = forms.CharField(
        max_length=32,
        min_length=3,
        strip=False,
        validators=[validators.UnicodeUsernameValidator()],
        widget=forms.TextInput({
            "placeholder": "Name",
            "aria-label": "Name",
            "class": "form-control"
        }),
        label="Name",
        required=False,
    )
    register_last_name = forms.CharField(
        max_length=32,
        min_length=3,
        strip=False,
        validators=[validators.UnicodeUsernameValidator()],
        label="Last Name",
        widget=forms.TextInput({
            "placeholder": "LastName",
            "aria-label": "LastName",
            "class": "form-control"
        }),
        required=False,
    )
    register_email = forms.EmailField(
        required=True,
        validators=[validators.validators.validate_email],
        label="Email",
        widget=forms.EmailInput({
            "placeholder": "Email",
            "aria-label": "Email",
            "class": "form-control"
        }),
    )
    register_password = forms.CharField(
        strip=False,
        required=True,
        validators=map(make_validator_callable,
                       get_default_password_validators()),
        label="Password",
        widget=forms.PasswordInput({
            "placeholder": "Password",
            "aria-label": "Password",
            "class": "form-control"
        }),
    )
    register_repeat_password = forms.CharField(
        strip=False,
        required=True,
        label="Repeat Password",
        widget=forms.PasswordInput(
            {
                "placeholder": "Repeat Password",
                "aria-label": "Repeat Password",
                "class": "form-control"
            }, ),
    )

    def clean(self):
        tmp = super().clean()
        try:
            pass1 = tmp.get("register_password")
            pass2 = tmp.get("register_repeat_password")
            if pass1 != pass2:
                self.add_error("register_repeat_password",
                               "Passwords does not match")
        except TypeError:
            pass
        try:
            if User.objects.get(username=tmp.get("register_username")):
                self.add_error("register_username", "User already exists")
        except User.DoesNotExist:
            pass
        return tmp