# -*- coding: utf-8 -*- from django.db import models from django.utils.encoding import python_2_unicode_compatible from django.utils.encoding import force_text 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 = 'Seznam přednášek' verbose_name_plural = '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("Seznam {}přednášek na {}".format("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 = 'Přednáška' verbose_name_plural = 'Přednášky' ordering = ['org', 'nazev'] id = models.AutoField(primary_key = True) nazev = models.CharField('Název', max_length = 300) org = models.ForeignKey(Organizator) popis = models.TextField('Popis pro orgy',null = True, blank = True,help_text = 'Neveřejný popis pro ostatní orgy') anotace = models.TextField('Anotace',null = True, blank = True, help_text = 'Veřejná anotace v hlasování') obtiznost = models.IntegerField('Obtížnost', choices=CHOICES_OBTIZNOST) obor = models.CharField('Obor', max_length = 5, help_text = 'Podmnožina MFIOB') klicova = models.CharField('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 = 'Hlasování' verbose_name_plural = '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("{} dal {} bodů {} v seznamu {}".format(self.ucastnik, self.body, self.prednaska, self.seznam))