tickets: Add a (virtual) Booking.price property.
[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 TICKETS_CHOICES = [ (n, n) for n in range(1, 6)]
13
14 TICKET_PRICE=10
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     address1 = models.CharField(max_length=50, verbose_name="Adres")
20     address2 = models.CharField(max_length=50, verbose_name="")
21     email = models.EmailField(verbose_name="Email adres")
22     tickets = models.IntegerField(choices=TICKETS_CHOICES, verbose_name="Aantal kaarten")
23     show = models.CharField(max_length=50, choices=SHOW_CHOICES, verbose_name="Voorstelling")
24     payment = models.DateTimeField(blank=True, null=True, verbose_name="Betaling vewerkt op")
25
26     def _get_price(self):
27         return self.tickets * TICKET_PRICE
28     price = property(_get_price)