tickets: Expose the ticket price to the bookingform template.
[matthijs/projects/dorestad-bookings.git] / tickets / views.py
index f8ec3ba874e1a87e7659420e57ede3e87c9249fc..c89d26ab041f5c5386aa62b0cf29c355136142e3 100644 (file)
@@ -6,19 +6,19 @@ import django
 from django.shortcuts import render_to_response
 from django.template import RequestContext
 
-from models import Booking
+from models import Booking, TICKET_PRICE
 
 class BookingForm(django.forms.ModelForm):
     class Meta:
         model=Booking
         exclude=['payment']
 
-def confirm_booking(booking):
+def confirm_booking(booking, template):
     from django.core.mail import EmailMessage
 
     context = {'booking' : booking}
 
-    rendered = django.template.loader.render_to_string('tickets/booked.eml', context)
+    rendered = django.template.loader.render_to_string(template, context)
     (headers, body) = rendered.strip().split('\n\n', 1)
 
     # Turn the headers into a dict so EmailMessage can turn them into a
@@ -60,10 +60,10 @@ def book(request):
 
     if f.is_valid():
         booking = f.save()
-        confirm_booking(booking)
+        confirm_booking(booking, 'tickets/booked.eml')
         return render_to_response('tickets/booked.html', {'booking' : booking}, context_instance=RequestContext(request))
 
-    return render_to_response('tickets/bookingform.html', {'form' : f}, context_instance=RequestContext(request))
+    return render_to_response('tickets/bookingform.html', {'form' : f, 'price' : TICKET_PRICE}, context_instance=RequestContext(request))
 
 # These two forms are used for entering payment details. They aren't
 # very different, so it should really be possible to merge them (but
@@ -109,6 +109,7 @@ def payments(request):
             for b in bookings:
                 b.payment = datetime.datetime.now()
                 b.save()
+                confirm_booking(b, 'tickets/payed.eml')
 
             # Don't show the form again
             f = None