# -*- 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, blank = True,help_text = u'Neveřejný popis pro ostatní orgy') anotace = models.TextField('Anotace',null = True, blank = 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))