Projet

Général

Profil

0002-profile-view-unset-verified-flag-on-a-modified-email.patch

Paul Marillonnet, 18 février 2019 18:31

Télécharger (1,87 ko)

Voir les différences:

Subject: [PATCH 2/4] profile view: unset verified flag on a modified email
 address (#30740)

 src/authentic2/views.py    | 3 +++
 tests/test_change_email.py | 8 ++++++++
 2 files changed, 11 insertions(+)
src/authentic2/views.py
188 188
        return super(EmailChangeView, self).post(request, *args, **kwargs)
189 189

  
190 190
    def form_valid(self, form):
191
        if 'email' in form.changed_data:
192
            self.request.user.email_verified = False
193
            self.request.user.save()
191 194
        email = form.cleaned_data['email']
192 195
        utils.send_email_change_email(self.request.user, email, request=self.request)
193 196
        hooks.call_hooks('event', name='change-email', user=self.request.user, email=email)
tests/test_change_email.py
21 21
    assert simple_user.email == user_ou1.email
22 22

  
23 23

  
24
def test_change_email_verified(app, email_verified_user, mailoutbox):
25
    from django.contrib.auth import get_user_model
26
    change_email(app, email_verified_user, 'john@nowhere.null', mailoutbox)
27
    User = get_user_model()
28
    user = User.objects.get(id=email_verified_user.id)
29
    assert not user.email_verified
30

  
31

  
24 32
def test_change_email_email_is_unique(app, settings, simple_user, user_ou1, mailoutbox):
25 33
    settings.A2_EMAIL_IS_UNIQUE = True
26 34
    email = change_email(app, simple_user, user_ou1.email, mailoutbox)
27
-