manager: unset verified flag on a modified email address (#30740)

This commit is contained in:
Paul Marillonnet 2019-02-18 17:05:41 +01:00
parent 9ff75d0a86
commit 13766a37fd
2 changed files with 23 additions and 0 deletions

View File

@ -342,6 +342,9 @@ class UserEditView(OtherActionsMixin, ActionMixin, BaseEditView):
return self._get_next_url()
def form_valid(self, form):
if 'email' in form.changed_data:
self.object.email_verified = False
self.object.save()
response = super(UserEditView, self).form_valid(form)
hooks.call_hooks('event', name='manager-edit-user', user=self.request.user,
instance=form.instance, form=form)

View File

@ -874,3 +874,23 @@ def test_ou_hide_username(admin, app, db):
User = get_user_model()
assert User.objects.get(email='john.doe@gmail.com')
def test_manager_edit_user_email_verified(app, simple_user, superuser_or_admin):
simple_user.email_verified = True
simple_user.save()
url = u'/manage/users/%s/edit/' % simple_user.pk
login(app, superuser_or_admin, '/manage/')
User = get_user_model()
user = User.objects.get(id=simple_user.id)
assert user.email_verified
response = app.get(url)
form = response.form
form.set('email', 'new.email@gmail.net')
response = form.submit().follow()
user = User.objects.get(id=simple_user.id)
assert not user.email_verified