X-Git-Url: https://git.stderr.nl/gitweb?a=blobdiff_plain;f=tickets%2Fviews.py;h=a6dff544363d6f6107337f56f3c69de29534ac92;hb=7d65c823b5324ef7cbef8a27fa0e8c45bb19278f;hp=f8ec3ba874e1a87e7659420e57ede3e87c9249fc;hpb=f608a07f83a17210ea58324ea27ff03a30bd7135;p=matthijs%2Fprojects%2Fdorestad-bookings.git diff --git a/tickets/views.py b/tickets/views.py index f8ec3ba..a6dff54 100644 --- a/tickets/views.py +++ b/tickets/views.py @@ -5,20 +5,21 @@ import datetime import django from django.shortcuts import render_to_response from django.template import RequestContext +from django.contrib.auth.decorators import permission_required -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 +61,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 @@ -84,6 +85,7 @@ class PaymentConfirmForm(django.forms.Form): # This field is used to distinguish these two forms confirm = django.forms.BooleanField(initial=True, widget=django.forms.HiddenInput) +@permission_required('tickets.change_booking') def payments(request): c = {} bookings = None @@ -109,6 +111,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