From 454f0f6fc844b4a5b0a3c64c0aafb5ac88b0efbf Mon Sep 17 00:00:00 2001 From: Raphael Michel Date: Wed, 23 Dec 2020 17:52:20 +0100 Subject: [PATCH] Create log entry upon order email confirmation --- src/pretix/control/logdisplay.py | 2 ++ src/pretix/presale/views/order.py | 6 ++++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/pretix/control/logdisplay.py b/src/pretix/control/logdisplay.py index 34d4e190d4..7a4c0d9394 100644 --- a/src/pretix/control/logdisplay.py +++ b/src/pretix/control/logdisplay.py @@ -292,6 +292,8 @@ def pretixcontrol_logentry_display(sender: Event, logentry: LogEntry, **kwargs): 'pretix.event.order.denied': _('The order has been denied.'), 'pretix.event.order.contact.changed': _('The email address has been changed from "{old_email}" ' 'to "{new_email}".'), + 'pretix.event.order.contact.confirmed': _('The email address has been confirmed to be working (the user clicked on a link ' + 'in the email for the first time).'), 'pretix.event.order.phone.changed': _('The phone number has been changed from "{old_phone}" ' 'to "{new_phone}".'), 'pretix.event.order.locale.changed': _('The order locale has been changed.'), diff --git a/src/pretix/presale/views/order.py b/src/pretix/presale/views/order.py index f82568d75b..d62943b524 100644 --- a/src/pretix/presale/views/order.py +++ b/src/pretix/presale/views/order.py @@ -120,8 +120,10 @@ class OrderOpen(EventViewMixin, OrderDetailMixin, View): if not self.order: raise Http404(_('Unknown order code or not authorized to access this order.')) if kwargs.get('hash') == self.order.email_confirm_hash(): - self.order.email_known_to_work = True - self.order.save(update_fields=['email_known_to_work']) + if not self.order.email_known_to_work: + self.order.log_action('pretix.event.order.contact.confirmed') + self.order.email_known_to_work = True + self.order.save(update_fields=['email_known_to_work']) return redirect(self.get_order_url())