diff options
author | Magnus Hagander | 2020-03-17 21:56:42 +0000 |
---|---|---|
committer | Magnus Hagander | 2020-03-17 21:56:42 +0000 |
commit | 1df61d90c7ad035311bc729399711a253ee4dc6e (patch) | |
tree | 538c9714d0317a7de9090f5818fb4d8431651c29 /postgresqleu/confreg/util.py | |
parent | 85af0d608e9160ed14a7d532ab679b8494930003 (diff) |
Add basic registration activity log
This adds a basic log to each registration of activity that happens on
it, from creation until possible canceling.
More details can be added as we go, but tihs is a good start.
One big improvement needed is to track exactly *which* fields changed
and to/from what when making changes to a registration (that would help
with support cases).
Diffstat (limited to 'postgresqleu/confreg/util.py')
-rw-r--r-- | postgresqleu/confreg/util.py | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/postgresqleu/confreg/util.py b/postgresqleu/confreg/util.py index 8f6d9085..db90ad7a 100644 --- a/postgresqleu/confreg/util.py +++ b/postgresqleu/confreg/util.py @@ -19,6 +19,11 @@ from postgresqleu.confreg.jinjapdf import render_jinja_ticket from .models import PrepaidVoucher, DiscountCode, RegistrationWaitlistHistory from .models import ConferenceRegistration, Conference from .models import AttendeeMail +from .models import ConferenceRegistrationLog + + +def reglog(reg, txt, user=None): + ConferenceRegistrationLog(reg=reg, txt=txt, user=user).save() # @@ -180,6 +185,8 @@ def send_welcome_email(reg): def notify_reg_confirmed(reg, updatewaitlist=True): + reglog(reg, "Registration confirmed") + # This one was off the waitlist, so generate a history entry if updatewaitlist and hasattr(reg, 'registrationwaitlistentry'): RegistrationWaitlistHistory(waitlist=reg.registrationwaitlistentry, @@ -244,7 +251,7 @@ def notify_reg_confirmed(reg, updatewaitlist=True): send_welcome_email(reg) -def cancel_registration(reg, is_unconfirmed=False, reason=None): +def cancel_registration(reg, is_unconfirmed=False, reason=None, user=None): if reg.canceledat: raise Exception("Registration is already canceled") @@ -294,6 +301,8 @@ def cancel_registration(reg, is_unconfirmed=False, reason=None): reg.canceledat = timezone.now() reg.save() + reglog(reg, "Canceled registration", user) + if reg.conference.notifyregs and not is_unconfirmed: send_conference_mail(reg.conference, reg.conference.notifyaddr, |