tickets: Enter the actual ticket price.
[matthijs/projects/dorestad-bookings.git] / tickets / models.py
1 # coding=utf-8
2
3 from django.db import models
4
5 # Create your models here.
6
7 SHOW_CHOICES = [ ("vrijdag", "vrijdag 17 december, 20:00")
8                , ("zaterdag", "zaterdag 18 december, 20:00")
9                , ("zondag", "zondag 19 december, 13:00")
10                ]
11
12 TICKET_PRICE=7.5
13
14 TICKETS_CHOICES = [ (n, u"%s (€%.2d)" % (n, n * TICKET_PRICE)) for n in range(1, 6)]
15
16 class Booking(models.Model):
17     created = models.DateTimeField(auto_now_add=True, editable=False, verbose_name="Datum")
18     name = models.CharField(max_length=100, verbose_name="Naam")
19     email = models.EmailField(verbose_name="Email adres")
20     tickets = models.IntegerField(choices=TICKETS_CHOICES, verbose_name="Aantal kaarten")
21     show = models.CharField(max_length=50, choices=SHOW_CHOICES, verbose_name="Voorstelling")
22     payment = models.DateTimeField(blank=True, null=True, verbose_name="Betaling vewerkt op")
23
24     def _get_price(self):
25         return self.tickets * TICKET_PRICE
26     price = property(_get_price)
27
28     def __unicode__(self):
29         return u'#%s: %s - %s - %s kaart%s (€ %.2d)' % (
30             self.pk, self.name,
31             self.get_show_display(),
32             self.tickets, "en" if self.tickets != 1 else "",
33             self.price)