isonzeinterndronken/dronken/models.py

53 lines
1.4 KiB
Python

from django.db import models
class City(models.Model):
name = models.CharField(max_length=255)
slug = models.CharField(max_length=255)
enabled = models.BooleanField()
def __str__(self):
return self.name
class Association(models.Model):
STATES = (
('dronken', 'Dronken'),
('nuchter', 'Nuchter'),
('brak', 'Brak')
)
name = models.CharField(max_length=255)
short_name = models.CharField(max_length=255)
slug = models.CharField(max_length=255)
intern = models.CharField(max_length=255, blank=True, null=True)
state = models.CharField(max_length=255)
city = models.ForeignKey(to=City, on_delete=models.SET_NULL, blank=True, null=True)
has_intern = models.BooleanField()
enabled = models.BooleanField()
extra_states = models.ManyToManyField(to='ExtraState', blank=True, null=True)
def __str__(self):
return self.name
def get_state_display(self):
if not self.has_intern:
return "Geen intern!"
values = dict(list(Association.STATES))
values.update(dict([(x.value, x.name) for x in self.extra_states.all()]))
try:
return values[self.state]
except KeyError:
return "Onbekend"
class ExtraState(models.Model):
name = models.CharField(max_length=255)
value = models.CharField(max_length=255)
def __str__(self):
return self.name