projects
/
matthijs
/
projects
/
dorestad-bookings.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
tickets: Require valid permissions for the payments view.
[matthijs/projects/dorestad-bookings.git]
/
tickets
/
views.py
diff --git
a/tickets/views.py
b/tickets/views.py
index f8ec3ba874e1a87e7659420e57ede3e87c9249fc..a6dff544363d6f6107337f56f3c69de29534ac92 100644
(file)
--- 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
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']
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}
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
(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()
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/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
# 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)
# 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
def payments(request):
c = {}
bookings = None
@@
-109,6
+111,7
@@
def payments(request):
for b in bookings:
b.payment = datetime.datetime.now()
b.save()
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
# Don't show the form again
f = None