diff options
author | Magnus Hagander | 2015-02-05 14:12:50 +0000 |
---|---|---|
committer | Magnus Hagander | 2015-02-05 14:12:50 +0000 |
commit | e55141f2daf16bba6170347a607bcdca5f313f6e (patch) | |
tree | 2b6c1061a60138db7759ab69eab3fba9461b62b3 | |
parent | 8e1105c97a3bcbda96cad0b304e7250e5e3b2039 (diff) |
Send email with voucher codes when benefit has been claimed
Previously we only sent the instructions email when the vouchers
were manually created, which meant that any sponsor using the
auto-claiming function never received the instructions.
-rw-r--r-- | postgresqleu/confsponsor/benefitclasses/entryvouchers.py | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/postgresqleu/confsponsor/benefitclasses/entryvouchers.py b/postgresqleu/confsponsor/benefitclasses/entryvouchers.py index bd20ba89..85e11d4a 100644 --- a/postgresqleu/confsponsor/benefitclasses/entryvouchers.py +++ b/postgresqleu/confsponsor/benefitclasses/entryvouchers.py @@ -1,5 +1,7 @@ from django import forms from django.core.validators import MaxValueValidator +from django.template import Context +from django.template.loader import get_template import base64 import os @@ -8,6 +10,8 @@ import cStringIO as StringIO from base import BaseBenefit +from postgresqleu.mailqueue.util import send_simple_mail + from postgresqleu.confreg.models import RegistrationType, PrepaidBatch, PrepaidVoucher def _validate_params(level, params): @@ -62,12 +66,24 @@ class EntryVouchers(BaseBenefit): buyer=request.user, buyername="%s %s" % (request.user.first_name, request.user.last_name)) batch.save() + vouchers = [] for n in range(0, int(form.cleaned_data['vouchercount'])): v = PrepaidVoucher(conference=self.level.conference, vouchervalue=base64.b64encode(os.urandom(37)).rstrip('='), batch=batch) v.save() - + vouchers.append(v) + + # Send an email about the new vouchers + send_simple_mail(self.level.conference.sponsoraddr, + request.user.email, + "Entry vouchers for {0}".format(self.level.conference), + get_template('confreg/mail/prepaid_vouchers.txt').render(Context({ + 'batch': batch, + 'vouchers': vouchers, + }))) + + # Finally, finish the claim claim.claimdata = batch.id claim.confirmed = True # Always confirmed, they're generated after all return True |