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