diff --git a/src/pretix/base/forms/user.py b/src/pretix/base/forms/user.py index 5f2cb77e1c..8c5706167a 100644 --- a/src/pretix/base/forms/user.py +++ b/src/pretix/base/forms/user.py @@ -190,6 +190,7 @@ class UserEmailChangeForm(forms.Form): 'duplicate_identifier': _("There already is an account associated with this email address. " "Please choose a different one."), } + old_email = forms.EmailField(label=_('Old email address'), disabled=True) new_email = forms.EmailField(label=_('New email address')) def __init__(self, *args, **kwargs): diff --git a/src/pretix/control/templates/pretixcontrol/user/change_email.html b/src/pretix/control/templates/pretixcontrol/user/change_email.html index 583750090a..1d6e567005 100644 --- a/src/pretix/control/templates/pretixcontrol/user/change_email.html +++ b/src/pretix/control/templates/pretixcontrol/user/change_email.html @@ -12,6 +12,7 @@
{% trans "This changes the email address used to login to your account, as well as where we send email notifications." %}
+ {% bootstrap_field form.old_email %} {% bootstrap_field form.new_email %}{% trans "We will send a confirmation code to your new email address, which you need to enter in the next step to confirm the email address is correct." %} diff --git a/src/pretix/control/views/user.py b/src/pretix/control/views/user.py index 6363bd99df..44d546bbb7 100644 --- a/src/pretix/control/views/user.py +++ b/src/pretix/control/views/user.py @@ -864,6 +864,11 @@ class UserEmailChangeView(RecentAuthenticationRequiredMixin, FormView): "user": self.request.user, } + def get_initial(self): + return { + "old_email": self.request.user.email + } + def form_valid(self, form): self.request.user.send_confirmation_code('email_change', form.cleaned_data['new_email']) return redirect(reverse('control:user.settings.email.confirm', kwargs={}))