You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

84 lines
2.7 KiB

# -*- coding: utf-8 -*-
from django.db import models
from django.utils.encoding import python_2_unicode_compatible
from django.utils.encoding import force_unicode
from seminar.models import Organizator,Soustredeni
STAV_NAVRH = 1
STAV_BUDE = 2
STAV_CHOICES = (
(STAV_NAVRH, 'Návrh'),
(STAV_BUDE, 'Bude')
)
@python_2_unicode_compatible
class Seznam(models.Model):
class Meta:
db_table = 'prednasky_seznam'
verbose_name = u'Seznam přednášek'
verbose_name_plural = u'Seznamy přednášek'
ordering = ['soustredeni', 'stav']
id = models.AutoField(primary_key = True)
soustredeni = models.ForeignKey(Soustredeni,null = True, default = None)
stav = models.IntegerField('Stav',choices=STAV_CHOICES,default = STAV_NAVRH)
def __str__(self):
return force_unicode(u"Seznam {}přednášek na {}".format(u"návrhů " if self.stav == STAV_NAVRH else "",self.soustredeni))
CHOICES_OBTIZNOST = (
(1, 'Lehká'),
(2, 'Střední'),
(3, 'Těžká'),
)
CHOICES_BODY = (
(-1, '-1'),
(0, '0'),
(1, '1'),
)
@python_2_unicode_compatible
class Prednaska(models.Model):
class Meta:
db_table = 'prednasky_prednaska'
verbose_name = u'Přednáška'
verbose_name_plural = u'Přednášky'
ordering = ['org', 'nazev']
id = models.AutoField(primary_key = True)
nazev = models.CharField(u'Název', max_length = 300)
org = models.ForeignKey(Organizator)
popis = models.TextField(u'Popis pro orgy',null = True,help_text = u'Neveřejný popis pro ostatní orgy')
anotace = models.TextField('Anotace',null = True, help_text = u'Veřejná anotace v hlasování')
obtiznost = models.IntegerField(u'Obtížnost', choices=CHOICES_OBTIZNOST)
obor = models.CharField(u'Obor', max_length = 5, help_text = u'Podmnožina MFIOB')
klicova = models.CharField(u'Klíčová slova', max_length = 200, null = True, blank = True)
seznamy = models.ManyToManyField(Seznam)
def __str__(self):
return force_unicode(u"{} ({})".format(self.nazev,self.org))
@python_2_unicode_compatible
class Hlasovani(models.Model):
class Meta:
db_table = 'prednasky_hlasovani'
verbose_name = u'Hlasování'
verbose_name_plural = u'Hlasování'
ordering = ['ucastnik', 'prednaska']
id = models.AutoField(primary_key = True)
prednaska = models.ForeignKey(Prednaska)
body = models.IntegerField('Body', default = 0, choices = CHOICES_BODY)
ucastnik = models.CharField('Účastník', max_length = 100)
seznam = models.ForeignKey(Seznam)
def __str__(self):
return force_unicode(u"{} dal {} bodů {} v seznamu {}".format(self.ucastnik, self.body, self.prednaska,self.seznam))