summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMagnus Hagander2015-02-05 14:12:50 +0000
committerMagnus Hagander2015-02-05 14:12:50 +0000
commite55141f2daf16bba6170347a607bcdca5f313f6e (patch)
tree2b6c1061a60138db7759ab69eab3fba9461b62b3
parent8e1105c97a3bcbda96cad0b304e7250e5e3b2039 (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.py18
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