forked from CGM_Public/pretix_original
Customer account: Catch IntegrityError during email change
This commit is contained in:
@@ -562,17 +562,21 @@ class ConfirmChangeView(View):
|
|||||||
messages.error(request, _('You clicked an invalid link.'))
|
messages.error(request, _('You clicked an invalid link.'))
|
||||||
return HttpResponseRedirect(self.get_success_url())
|
return HttpResponseRedirect(self.get_success_url())
|
||||||
|
|
||||||
with transaction.atomic():
|
try:
|
||||||
customer.email = data['email']
|
with transaction.atomic():
|
||||||
customer.save()
|
customer.email = data['email']
|
||||||
customer.log_action('pretix.customer.changed', {
|
customer.save()
|
||||||
'email': data['email']
|
customer.log_action('pretix.customer.changed', {
|
||||||
})
|
'email': data['email']
|
||||||
|
})
|
||||||
|
except IntegrityError:
|
||||||
|
messages.success(request, _('Your email address has not been updated since the address is already in use '
|
||||||
|
'for another customer account.'))
|
||||||
|
else:
|
||||||
|
messages.success(request, _('Your email address has been updated.'))
|
||||||
|
|
||||||
messages.success(request, _('Your email address has been updated.'))
|
if customer == request.customer:
|
||||||
|
update_customer_session_auth_hash(self.request, customer)
|
||||||
if customer == request.customer:
|
|
||||||
update_customer_session_auth_hash(self.request, customer)
|
|
||||||
|
|
||||||
return HttpResponseRedirect(self.get_success_url())
|
return HttpResponseRedirect(self.get_success_url())
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user