X-Git-Url: https://git.stderr.nl/gitweb?a=blobdiff_plain;f=tickets%2Fmodels.py;h=ddb34b0579ded24c054e7c476c4d8df8d21cf88e;hb=0f564adcd3d38feeea3a3849a292f9adb43d5763;hp=71a836239075aa6e6e4ecb700e9c42c95c022d91;hpb=c6090313d4db4c414c7c14b3af1a3e1940086a65;p=matthijs%2Fprojects%2Fdorestad-bookings.git diff --git a/tickets/models.py b/tickets/models.py index 71a8362..ddb34b0 100644 --- a/tickets/models.py +++ b/tickets/models.py @@ -1,3 +1,34 @@ +# coding=utf-8 + from django.db import models +from django.utils.formats import number_format # Create your models here. + +SHOW_CHOICES = [ ("vrijdag", "vrijdag 17 december om 20:00") + , ("zaterdag", "zaterdag 18 december om 20:00") + , ("zondag", "zondag 19 december om 13:00") + ] + +TICKET_PRICE=7.5 + +TICKETS_CHOICES = [ (n, u"%s (€ %s)" % (n, number_format(n * TICKET_PRICE,2))) for n in range(1, 6)] + +class Booking(models.Model): + created = models.DateTimeField(auto_now_add=True, editable=False, verbose_name="Datum") + name = models.CharField(max_length=100, verbose_name="Naam") + email = models.EmailField(verbose_name="Email adres") + tickets = models.IntegerField(choices=TICKETS_CHOICES, verbose_name="Aantal kaarten") + show = models.CharField(max_length=50, choices=SHOW_CHOICES, verbose_name="Voorstelling") + payment = models.DateTimeField(blank=True, null=True, verbose_name="Betaling vewerkt op") + + def _get_price(self): + return self.tickets * TICKET_PRICE + price = property(_get_price) + + def __unicode__(self): + return u'#%s: %s - %s - %s kaart%s (€ %s)' % ( + self.pk, self.name, + self.get_show_display(), + self.tickets, "en" if self.tickets != 1 else "", + number_format(self.price, 2))