diff --git a/src/pretix/presale/forms/auth.py b/src/pretix/presale/forms/auth.py index a94dc00daa..4770d176eb 100644 --- a/src/pretix/presale/forms/auth.py +++ b/src/pretix/presale/forms/auth.py @@ -213,7 +213,12 @@ class PasswordForgotForm(Form): email=username, event=self.event ) return username - except: + except User.MultipleObjectsReturned: + raise forms.ValidationError( + _("We found multiple users with that e-mail address. Please specify the username instead"), + code='unknown_user', + ) + except User.DoesNotExist: raise forms.ValidationError( _("We are unable to find a user matching the data you provided."), code='unknown_user', diff --git a/src/pretix/presale/views/event.py b/src/pretix/presale/views/event.py index f40dcb4d25..567f0e1c65 100644 --- a/src/pretix/presale/views/event.py +++ b/src/pretix/presale/views/event.py @@ -271,6 +271,7 @@ class EventRecover(EventViewMixin, TemplateView): return self.invalid('invalid') else: user.set_password(self.form.cleaned_data['password']) + user.save() messages.success(request, _('You can now login using your new password.')) return redirect('presale:event.checkout.login', organizer=self.request.event.organizer.slug,