Projet

Général

Profil

0002-misc-define-email-validation-at-the-model-level-4307.patch

Benjamin Dauvergne, 19 mai 2020 12:29

Télécharger (3,14 ko)

Voir les différences:

Subject: [PATCH 2/3] misc: define email validation at the model level (#43074)

 .../custom_user/migrations/0017_auto_20200305_1645.py       | 4 +++-
 src/authentic2/custom_user/models.py                        | 4 +++-
 src/authentic2/forms/profile.py                             | 6 ------
 3 files changed, 6 insertions(+), 8 deletions(-)
src/authentic2/custom_user/migrations/0017_auto_20200305_1645.py
4 4

  
5 5
from django.db import migrations, models
6 6

  
7
import authentic2.validators
8

  
7 9

  
8 10
class Migration(migrations.Migration):
9 11

  
......
15 17
        migrations.AlterField(
16 18
            model_name='user',
17 19
            name='email',
18
            field=models.EmailField(blank=True, max_length=254, verbose_name='email address'),
20
            field=models.EmailField(blank=True, max_length=254, verbose_name='email address', validators=[authentic2.validators.email_validator]),
19 21
        ),
20 22
    ]
src/authentic2/custom_user/models.py
39 39
from authentic2 import utils, app_settings
40 40
from authentic2.decorators import errorcollector, RequestCache
41 41
from authentic2.models import Service, AttributeValue, Attribute
42
from authentic2.validators import email_validator
42 43

  
43 44
from .managers import UserManager, UserQuerySet
44 45

  
......
148 149
    email = models.EmailField(
149 150
        _('email address'),
150 151
        blank=True,
151
        max_length=254)
152
        max_length=254,
153
        validators=[email_validator])
152 154
    email_verified = models.BooleanField(
153 155
        default=False,
154 156
        verbose_name=_('email verified'))
src/authentic2/forms/profile.py
22 22

  
23 23
from authentic2 import app_settings, models
24 24
from authentic2.custom_user.models import User
25
from authentic2.validators import email_validator
26 25
from .utils import NextUrlFormMixin
27 26
from .mixins import LockedFieldFormMixin
28 27
from .fields import ValidatedEmailField
......
124 123
            self.save_m2m = save_m2m
125 124
        return result
126 125

  
127
    def clean_email(self):
128
        email = self.cleaned_data['email']
129
        email_validator(email)
130
        return email
131

  
132 126

  
133 127
class EditProfileForm(NextUrlFormMixin, BaseUserForm):
134 128
    pass
135
-