Private
Public Access
1
0
Files
rowsandall/cvkbrno/models.py
sanderroosendaal 3eed3cc3e7 Uploading files
2016-10-30 17:39:32 +01:00

172 lines
4.6 KiB
Python

# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from django.db import models
from django.contrib.auth.models import User
from django import forms
from django.forms import ModelForm
from django.utils.translation import ugettext_lazy as _
from django.utils import timezone
import datetime
# Create your models here.
class BoatCategory(models.Model):
name = models.CharField(_("Boat Category"),max_length=30)
club = models.CharField(_("Club"),max_length=30)
class Meta:
verbose_name = _("boat category")
verbose_name_plural = _("boat categories")
ordering = ['name']
def __str__(self):
str = self.name
return str
def __unicode__(self):
str = self.name
return str
class Member(models.Model):
statuses = (
("coach", _("coach")),
("member", _("member")),
("administrator", _("administrator")),
)
class Meta:
verbose_name = _("member")
verbose_name_plural = _("members")
ordering = ['user']
user = models.OneToOneField(User)
contributions = models.BooleanField(default=True)
status = models.CharField(default="member",
choices=statuses,
max_length=30)
categories = models.ManyToManyField(BoatCategory,
verbose_name=_("Boat Categories"))
club = models.CharField(_("Club"),max_length=30)
hoursworked = models.FloatField(_("Hours Worked"))
def __str__(self):
str = self.user.first_name+' '+self.user.last_name
return str
def __unicode__(self):
str = self.user.first_name+' '+self.user.last_name
return str
class Boat(models.Model):
class Meta:
verbose_name = _("boat")
verbose_name_plural = _("boats")
ordering = ['boatcode']
boatname = models.CharField(_("Boat Name"),max_length=30)
boatcode = models.CharField(_("Boat Code"),max_length=10)
categories = models.ManyToManyField(BoatCategory)
nrseats = models.IntegerField(_("Nr of Seats"))
statuses = (
("water",_("water")),
("hangar",_("hangar")),
("damaged",_("damaged")),
("races",_("races")),
)
status = models.CharField(default="hangar",
choices=statuses,
max_length=30)
comment = models.CharField(_("Comment"),blank=True,max_length=100)
def __str__(self):
str = self.boatcode+' '+self.boatname
return str
def __unicode__(self):
str = self.boatcode+' '+self.boatname
return str
class MemberWork(models.Model):
class Meta:
verbose_name = _("member work")
verbose_name_plural = _("member work")
date = models.DateField(_("Date"))
hours = models.FloatField(_("Hours"))
name = models.CharField(_("Work Event Name"),max_length=30)
comment = models.CharField(_("Comment"),blank=True,max_length=100)
worker = models.ManyToManyField(Member,_("Worker"))
statuses = (
("planned",_("planned")),
("executed",_("executed"))
)
status = models.CharField(default="planned",
choices=statuses,
max_length=30)
class Races(models.Model):
class Meta:
verbose_name = _("race")
verbose_name_plural = _("races")
name = models.CharField(max_length = 30)
startdatetime = models.DateTimeField(verbose_name = _("Start Time"),default=timezone.now)
enddatetime = models.DateTimeField(verbose_name = _("End Time"),default=timezone.now)
transportboats = models.ManyToManyField(Boat)
def __str__(self):
str = self.name
str = str+' '+self.startdatetime.strftime('%Y-%m-%d %H:%M:%S')
return str
def __unicode__(self):
str = self.name
str = str+' '+self.startdatetime.strftime('%Y-%m-%d %H:%M:%S')
return str
class Outing(models.Model):
class Meta:
verbose_name = _("outing")
verbose_name_plural = _("outings")
starttime = models.DateTimeField(verbose_name = _("Start Time"),default=timezone.now)
endtime = models.DateTimeField(verbose_name = _("End Time"),blank=True,null=True)
distance = models.FloatField(_("Distance (km)"),default=12)
comment = models.CharField(_("Comment"),blank=True,max_length=100)
statuses = (
("reservation",_("reservation")),
("active", _("active")),
("completed", _("completed")),
("race", _("race")),
)
boat = models.ForeignKey(Boat)
rower = models.ForeignKey(Member)
race = models.ManyToManyField(Races,blank=True)
otherrowers = models.ManyToManyField(Member,related_name="otherrowers")
status = models.CharField(_("Status"),default="active",
choices=statuses,
max_length=30)
def __str__(self):
str = self.boat.boatcode
str = str+' '+self.starttime.strftime('%Y-%m-%d %H:%M:%S')
return str
def __unicode__(self):
str = self.boat.boatcode
str = str+' '+self.starttime.strftime('%Y-%m-%d %H:%M:%S')
return str