Projet

Général

Profil

0001-manager-unset-verified-flag-on-a-modified-email-addr.patch

Paul Marillonnet, 18 février 2019 18:31

Télécharger (2,66 ko)

Voir les différences:

Subject: [PATCH 1/4] manager: unset verified flag on a modified email address
 (#30740)

 src/authentic2/manager/user_views.py |  3 +++
 tests/conftest.py                    |  7 +++++++
 tests/test_manager.py                | 17 +++++++++++++++++
 3 files changed, 27 insertions(+)
src/authentic2/manager/user_views.py
327 327
        return self._get_next_url()
328 328

  
329 329
    def form_valid(self, form):
330
        if 'email' in form.changed_data:
331
            self.object.email_verified = False
332
            self.object.save()
330 333
        response = super(UserEditView, self).form_valid(form)
331 334
        hooks.call_hooks('event', name='manager-edit-user', user=self.request.user,
332 335
                         instance=form.instance, form=form)
tests/conftest.py
63 63
                       email='user@example.net', ou=get_default_ou())
64 64

  
65 65

  
66
@pytest.fixture
67
def email_verified_user(db, ou1):
68
    return create_user(username='user', first_name=u'Jôhn', last_name=u'Dôe',
69
                       email='user@example.net', email_verified=True,
70
                       ou=get_default_ou())
71

  
72

  
66 73
@pytest.fixture
67 74
def superuser(db):
68 75
    return create_user(username='superuser',
tests/test_manager.py
836 836
    response = app.get(url, params={'field_id': field_id, 'term': 'Admin édou'})
837 837
    assert len(response.json['results']) == 1
838 838
    assert response.json['results'][0]['text'] == u'La Bédoule - Administrateur'
839

  
840

  
841
def test_manager_edit_user_email_verified(app, email_verified_user, superuser_or_admin):
842
    url = u'/manage/users/%s/edit/' % email_verified_user.pk
843
    login(app, superuser_or_admin, '/manage/')
844
    User = get_user_model()
845

  
846
    user = User.objects.get(id=email_verified_user.id)
847
    assert user.email_verified
848

  
849
    response = app.get(url)
850
    form = response.form
851
    form.set('email', 'new.email@gmail.net')
852
    response = form.submit().follow()
853

  
854
    user = User.objects.get(id=email_verified_user.id)
855
    assert not user.email_verified
839
-