diff --git a/seminar/models.py b/seminar/models.py index 10d05395..96bf88d3 100644 --- a/seminar/models.py +++ b/seminar/models.py @@ -56,8 +56,8 @@ class Skola(SeminarModelBase): class Meta: db_table = 'seminar_skoly' - verbose_name = u'Škola' - verbose_name_plural = u'Školy' + verbose_name = 'Škola' + verbose_name_plural = 'Školy' ordering = ['mesto', 'nazev'] # Interní ID @@ -65,46 +65,46 @@ class Skola(SeminarModelBase): # Aesopi ID "izo:..." nebo "aesop:..." # NULL znamená v exportu do aesopa "ufo" - aesop_id = models.CharField(u'Aesop ID', max_length=32, blank=True, default='', - help_text=u'Aesopi ID typu "izo:..." nebo "aesop:..."') + aesop_id = models.CharField('Aesop ID', max_length=32, blank=True, default='', + help_text='Aesopi ID typu "izo:..." nebo "aesop:..."') # IZO školy (jen české školy) - izo = models.CharField(u'IZO', max_length=32, blank=True, - help_text=u'IZO školy (jen české školy)') + izo = models.CharField('IZO', max_length=32, blank=True, + help_text='IZO školy (jen české školy)') # Celý název školy - nazev = models.CharField(u'název', max_length=256, - help_text=u'Celý název školy') + nazev = models.CharField('název', max_length=256, + help_text='Celý název školy') # Zkraceny nazev pro zobrazení ve výsledkovce, volitelné. # Není v Aesopovi, musíme vytvářet sami. - kratky_nazev = models.CharField(u'zkrácený název', max_length=256, blank=True, + kratky_nazev = models.CharField('zkrácený název', max_length=256, blank=True, help_text="Zkrácený název pro zobrazení ve výsledkovce") # Ulice může být jen číslo - ulice = models.CharField(u'ulice', max_length=256) + ulice = models.CharField('ulice', max_length=256) - mesto = models.CharField(u'město', max_length=256) + mesto = models.CharField('město', max_length=256) - psc = models.CharField(u'PSČ', max_length=32) + psc = models.CharField('PSČ', max_length=32) # ISO 3166-1 dvojznakovy kod zeme velkym pismem (CZ, SK) # Ekvivalentní s CharField(max_length=2, default='CZ', ...) - stat = CountryField(u'stát', default='CZ', - help_text=u'ISO 3166-1 kód země velkými písmeny (CZ, SK, ...)') + stat = CountryField('stát', default='CZ', + help_text='ISO 3166-1 kód země velkými písmeny (CZ, SK, ...)') # Jaké vzdělání škpla poskytuje? - je_zs = models.BooleanField(u'základní stupeň', default=True) - je_ss = models.BooleanField(u'střední stupeň', default=True) + je_zs = models.BooleanField('základní stupeň', default=True) + je_ss = models.BooleanField('střední stupeň', default=True) - poznamka = models.TextField(u'neveřejná poznámka', blank=True, - help_text=u'Neveřejná poznámka ke škole (plain text)') + poznamka = models.TextField('neveřejná poznámka', blank=True, + help_text='Neveřejná poznámka ke škole (plain text)') - kontaktni_osoba = models.ForeignKey(Osoba, verbose_name=u'Kontaktní osoba', + kontaktni_osoba = models.ForeignKey(Osoba, verbose_name='Kontaktní osoba', blank=True, null=True) def __str__(self): - return force_unicode(u'%s, %s, %s' % (self.nazev, self.ulice, self.mesto)) + return force_unicode('%s, %s, %s' % (self.nazev, self.ulice, self.mesto)) @reversion.register(ignore_duplicates=True) @python_2_unicode_compatible @@ -112,55 +112,55 @@ class Osoba(SeminarModelBase): class Meta: db_table = 'seminar_osoby' - verbose_name = u'Osoba' - verbose_name_plural = u'Osoby' + verbose_name = 'Osoba' + verbose_name_plural = 'Osoby' ordering = ['prijmeni','jmeno'] id = models.AutoField(primary_key = True) - jmeno = models.CharField(u'jméno', max_length=256) + jmeno = models.CharField('jméno', max_length=256) - prijmeni = models.CharField(u'příjmení', max_length=256) + prijmeni = models.CharField('příjmení', max_length=256) - prezdivka = models.CharField(u'přezdívka', max_length=256) + prezdivka = models.CharField('přezdívka', max_length=256) # User, pokud má na webu účet - user = models.OneToOneField(settings.AUTH_USER_MODEL, blank=True, null=True, verbose_name=u'uživatel') + user = models.OneToOneField(settings.AUTH_USER_MODEL, blank=True, null=True, verbose_name='uživatel') # Pohlaví. Že ho neznáme se snad nestane (a ušetří to práci při programování) - pohlavi_muz = models.BooleanField(u'pohlaví (muž)', default=False) + pohlavi_muz = models.BooleanField('pohlaví (muž)', default=False) - email = models.EmailField(u'e-mail', max_length=256, blank=True, default='') + email = models.EmailField('e-mail', max_length=256, blank=True, default='') - telefon = models.CharField(u'telefon', max_length=256, blank=True, default='') + telefon = models.CharField('telefon', max_length=256, blank=True, default='') - datum_narozeni = models.DateField(u'datum narození', blank=True, null=True) + datum_narozeni = models.DateField('datum narození', blank=True, null=True) # NULL dokud nedali souhlas - datum_souhlasu_udaje = models.DateField(u'datum souhlasu (údaje)', blank=True, null=True, - help_text=u'Datum souhlasu se zpracováním osobních údajů') + datum_souhlasu_udaje = models.DateField('datum souhlasu (údaje)', blank=True, null=True, + help_text='Datum souhlasu se zpracováním osobních údajů') # NULL dokud nedali souhlas - datum_souhlasu_zasilani = models.DateField(u'datum souhlasu (spam)', blank=True, null=True, - help_text=u'Datum souhlasu se zasíláním MFF materiálů') + datum_souhlasu_zasilani = models.DateField('datum souhlasu (spam)', blank=True, null=True, + help_text='Datum souhlasu se zasíláním MFF materiálů') # Alespoň odhad (rok či i měsíc) - datum_registrace = models.DateField(u'datum registrace do semináře', default=timezone.now) + datum_registrace = models.DateField('datum registrace do semináře', default=timezone.now) # Ulice může být i jen číslo - ulice = models.CharField(u'ulice', max_length=256, blank=True, default='') + ulice = models.CharField('ulice', max_length=256, blank=True, default='') - mesto = models.CharField(u'město', max_length=256, blank=True, default='') + mesto = models.CharField('město', max_length=256, blank=True, default='') - psc = models.CharField(u'PSČ', max_length=32, blank=True, default='') + psc = models.CharField('PSČ', max_length=32, blank=True, default='') # ISO 3166-1 dvojznakovy kod zeme velkym pismem (CZ, SK) # Ekvivalentní s CharField(max_length=2, default='CZ', ...) - stat = CountryField(u'stát', default='CZ', - help_text=u'ISO 3166-1 kód země velkými písmeny (CZ, SK, ...)') + stat = CountryField('stát', default='CZ', + help_text='ISO 3166-1 kód země velkými písmeny (CZ, SK, ...)') - poznamka = models.TextField(u'neveřejná poznámka', blank=True, - help_text=u'Neveřejná poznámka k osobě (plain text)') + poznamka = models.TextField('neveřejná poznámka', blank=True, + help_text='Neveřejná poznámka k osobě (plain text)') foto = ProcessedImageField(verbose_name='Fotografie osoby', upload_to='image_osoby/velke/%Y/', null = True, blank = True, @@ -177,10 +177,10 @@ class Osoba(SeminarModelBase): options={'quality': 95}) def plne_jmeno(self): - return force_unicode(u'%s %s' % (self.jmeno, self.prijmeni)) + return force_unicode('%s %s' % (self.jmeno, self.prijmeni)) def inicial_krestni(self): - return force_unicode(u'%s.' % (self.jmeno[0])) + return force_unicode('%s.' % (self.jmeno[0])) def __str__(self): return force_unicode("Osoba({})".format(self.plne_jmeno())) @@ -188,18 +188,18 @@ class Osoba(SeminarModelBase): class Prijemce(SeminarModelBase): class Meta: db_table = 'seminar_prijemce' - verbose_name = u'příjemce' - verbose_name_plural = u'příjemce' + verbose_name = 'příjemce' + verbose_name_plural = 'příjemce' # Interní ID id = models.AutoField(primary_key = True) - poznamka = models.TextField(u'neveřejná poznámka', blank=True, - help_text=u'Neveřejná poznámka k příemci čísel (plain text)') + poznamka = models.TextField('neveřejná poznámka', blank=True, + help_text='Neveřejná poznámka k příemci čísel (plain text)') - osoba = models.ForeignKey(Osoba, verbose_name=u'komu', blank=False, null=False, - help_text=u'Které osobě či na jakou adresu se mají zasílat čísla') + osoba = models.ForeignKey(Osoba, verbose_name='komu', blank=False, null=False, + help_text='Které osobě či na jakou adresu se mají zasílat čísla') # FIXME: možná chceme něco jako vazbu na osobu XOR školu a počet kusů k zaslání @@ -210,33 +210,33 @@ class Resitel(SeminarModelBase): class Meta: db_table = 'seminar_resitele' - verbose_name = u'Řešitel' - verbose_name_plural = u'Řešitelé' + verbose_name = 'Řešitel' + verbose_name_plural = 'Řešitelé' ordering = ['osoba'] # Interní ID id = models.AutoField(primary_key = True) - osoba = models.ForeignKey(Osoba, blank=False, null=False, verbose_name=u'osoba') + osoba = models.ForeignKey(Osoba, blank=False, null=False, verbose_name='osoba') - skola = models.ForeignKey(Skola, blank=True, null=True, verbose_name=u'škola') + skola = models.ForeignKey(Skola, blank=True, null=True, verbose_name='škola') # Očekávaný rok maturity a vyřazení z aktivních řešitelů - rok_maturity = models.IntegerField(u'rok maturity', blank=True, null=True) + rok_maturity = models.IntegerField('rok maturity', blank=True, null=True) ZASILAT_DOMU = 'domu' ZASILAT_DO_SKOLY = 'do_skoly' ZASILAT_NIKAM = 'nikam' ZASILAT_CHOICES = [ - (ZASILAT_DOMU, u'Domů'), - (ZASILAT_DO_SKOLY, u'Do školy'), - (ZASILAT_NIKAM, u'Nikam'), + (ZASILAT_DOMU, 'Domů'), + (ZASILAT_DO_SKOLY, 'Do školy'), + (ZASILAT_NIKAM, 'Nikam'), ] - zasilat = models.CharField(u'kam zasílat', max_length=32, choices=ZASILAT_CHOICES, blank=False, default=ZASILAT_DOMU) + zasilat = models.CharField('kam zasílat', max_length=32, choices=ZASILAT_CHOICES, blank=False, default=ZASILAT_DOMU) - poznamka = models.TextField(u'neveřejná poznámka', blank=True, - help_text=u'Neveřejná poznámka k řešiteli (plain text)') + poznamka = models.TextField('neveřejná poznámka', blank=True, + help_text='Neveřejná poznámka k řešiteli (plain text)') def export_row(self): @@ -298,22 +298,22 @@ class Rocnik(SeminarModelBase): class Meta: db_table = 'seminar_rocniky' - verbose_name = u'Ročník' - verbose_name_plural = u'Ročníky' + verbose_name = 'Ročník' + verbose_name_plural = 'Ročníky' ordering = ['-rocnik'] # Interní ID id = models.AutoField(primary_key = True) - prvni_rok = models.IntegerField(u'první rok', db_index=True, unique=True) + prvni_rok = models.IntegerField('první rok', db_index=True, unique=True) - rocnik = models.IntegerField(u'číslo ročníku', db_index=True, unique=True) + rocnik = models.IntegerField('číslo ročníku', db_index=True, unique=True) - exportovat = models.BooleanField(u'export do AESOPa', db_column='exportovat', default=False, - help_text=u'Exportuje se jen podle tohoto flagu (ne veřejnosti), a to jen čísla s veřejnou výsledkovkou') + exportovat = models.BooleanField('export do AESOPa', db_column='exportovat', default=False, + help_text='Exportuje se jen podle tohoto flagu (ne veřejnosti), a to jen čísla s veřejnou výsledkovkou') def __str__(self): - return force_unicode(u'%s (%d/%d)' % (self.rocnik, self.prvni_rok, self.prvni_rok+1)) + return force_unicode('%s (%d/%d)' % (self.rocnik, self.prvni_rok, self.prvni_rok+1)) # Ročník v římských číslech def roman(self): @@ -322,7 +322,7 @@ class Rocnik(SeminarModelBase): def verejne(self): return len(self.verejna_cisla()) > 0 verejne.boolean = True - verejne.short_description = u'Veřejný (jen dle čísel)' + verejne.short_description = 'Veřejný (jen dle čísel)' def verejna_cisla(self): vc = [c for c in self.cisla.all() if c.verejne()] @@ -368,53 +368,53 @@ class Cislo(SeminarModelBase): class Meta: db_table = 'seminar_cisla' - verbose_name = u'Číslo' - verbose_name_plural = u'Čísla' + verbose_name = 'Číslo' + verbose_name_plural = 'Čísla' ordering = ['-rocnik__rocnik', '-cislo'] # Interní ID id = models.AutoField(primary_key = True) - rocnik = models.ForeignKey(Rocnik, verbose_name=u'ročník', related_name='cisla', db_index=True) + rocnik = models.ForeignKey(Rocnik, verbose_name='ročník', related_name='cisla', db_index=True) - cislo = models.CharField(u'název čísla', max_length=32, db_index=True, - help_text=u'Většinou jen "1", vyjímečně "7-8", lexikograficky určuje pořadí v ročníku!') + cislo = models.CharField('název čísla', max_length=32, db_index=True, + help_text='Většinou jen "1", vyjímečně "7-8", lexikograficky určuje pořadí v ročníku!') - datum_vydani = models.DateField(u'datum vydání', blank=True, null=True, - help_text=u'Datum vydání finální verze') + datum_vydani = models.DateField('datum vydání', blank=True, null=True, + help_text='Datum vydání finální verze') - datum_deadline = models.DateField(u'datum deadline', blank=True, null=True, - help_text=u'Datum pro příjem řešení úloh zadaných v tomto čísle') + datum_deadline = models.DateField('datum deadline', blank=True, null=True, + help_text='Datum pro příjem řešení úloh zadaných v tomto čísle') datum_deadline_soustredeni = models.DateField( - u'datum deadline soustředění', + 'datum deadline soustředění', blank=True, null=True, - help_text=u'Datum pro příjem řešení pro účast na soustředění') + help_text='Datum pro příjem řešení pro účast na soustředění') - verejne_db = models.BooleanField(u'číslo zveřejněno', + verejne_db = models.BooleanField('číslo zveřejněno', db_column='verejne', default=False) verejna_vysledkovka = models.BooleanField( - u'zveřejněna výsledkovka', + 'zveřejněna výsledkovka', default=False, - help_text=u'Je-li false u veřejného čísla,\ + help_text='Je-li false u veřejného čísla,\ není výsledkovka zatím veřejná.') - poznamka = models.TextField(u'neveřejná poznámka', blank=True, - help_text=u'Neveřejná poznámka k číslu (plain text)') + poznamka = models.TextField('neveřejná poznámka', blank=True, + help_text='Neveřejná poznámka k číslu (plain text)') - pdf = models.FileField(u'pdf', upload_to=cislo_pdf_filename, null=True, blank=True, - help_text=u'Pdf čísla, které si mohou řešitelé stáhnout') + pdf = models.FileField('pdf', upload_to=cislo_pdf_filename, null=True, blank=True, + help_text='Pdf čísla, které si mohou řešitelé stáhnout') def kod(self): - return u'%s.%s' % (self.rocnik.rocnik, self.cislo) - kod.short_description = u'Kód čísla' + return '%s.%s' % (self.rocnik.rocnik, self.cislo) + kod.short_description = 'Kód čísla' def __str__(self): # Potenciální DB HOG, pokud by se ročník necachoval r = Rocnik.cached_rocnik(self.rocnik_id) - return force_unicode(u'%s.%s' % (r.rocnik, self.cislo, )) + return force_unicode('%s.%s' % (r.rocnik, self.cislo, )) def verejne(self): return self.verejne_db @@ -455,18 +455,18 @@ class Problem(SeminarModelBase): class Meta: abstract = True - verbose_name = u'Problém' - verbose_name_plural = u'Problémy' + verbose_name = 'Problém' + verbose_name_plural = 'Problémy' ordering = ['nazev'] # Interní ID id = models.AutoField(primary_key = True) # Název - nazev = models.CharField(u'název', max_length=256) + nazev = models.CharField('název', max_length=256) # Problém má podproblémy - nadproblem = models.ForeignKey(Problem, verbose_name=u'nadřazený problém', + nadproblem = models.ForeignKey(Problem, verbose_name='nadřazený problém', related_name='nadproblem', null=True, blank=True) STAV_NAVRH = 'navrh' @@ -474,37 +474,37 @@ class Problem(SeminarModelBase): STAV_VYRESENY = 'vyreseny' STAV_SMAZANY = 'smazany' STAV_CHOICES = [ - (STAV_NAVRH, u'Návrh'), - (STAV_ZADANY, u'Zadaný'), - (STAV_VYRESENY, u'Vyřešený'), - (STAV_SMAZANY, u'Smazaný'), + (STAV_NAVRH, 'Návrh'), + (STAV_ZADANY, 'Zadaný'), + (STAV_VYRESENY, 'Vyřešený'), + (STAV_SMAZANY, 'Smazaný'), ] - stav = models.CharField(u'stav problému', max_length=32, choices=STAV_CHOICES, blank=False, default=STAV_NAVRH) + stav = models.CharField('stav problému', max_length=32, choices=STAV_CHOICES, blank=False, default=STAV_NAVRH) - zamereni = TaggableManager(verbose_name=u'zaměření', help_text='Zaměření M/F/I/O problému, příp. další tagy', blank=True) + zamereni = TaggableManager(verbose_name='zaměření', help_text='Zaměření M/F/I/O problému, příp. další tagy', blank=True) - poznamka = models.TextField(u'org poznámky (HTML)', blank=True, - help_text=u'Neveřejný návrh úlohy, návrh řešení, text zadání, poznámky ...') + poznamka = models.TextField('org poznámky (HTML)', blank=True, + help_text='Neveřejný návrh úlohy, návrh řešení, text zadání, poznámky ...') - autor = models.ForeignKey(Organizator, verbose_name=u'autor problému', + autor = models.ForeignKey(Organizator, verbose_name='autor problému', related_name='autor_problemu', null=True, blank=True) - garant = models.ForeignKey(Organizator, verbose_name=u'garant zadaného problému', + garant = models.ForeignKey(Organizator, verbose_name='garant zadaného problému', related_name='garant_problemu', null=True, blank=True) - opravovatele = models.ManyToManyField(Organizator, verbose_name=u'opravovatelé', + opravovatele = models.ManyToManyField(Organizator, verbose_name='opravovatelé', null=True, blank=True, related_name='opravovatele_uloh') - kod = models.CharField(u'lokální kód', max_length=32, blank=True, default='', - help_text=u'Číslo/kód úlohy v čísle nebo kód tématu/článku/seriálu v ročníku') + kod = models.CharField('lokální kód', max_length=32, blank=True, default='', + help_text='Číslo/kód úlohy v čísle nebo kód tématu/článku/seriálu v ročníku') - vytvoreno = models.DateTimeField(u'vytvořeno', default=timezone.now, blank=True, editable=False) + vytvoreno = models.DateTimeField('vytvořeno', default=timezone.now, blank=True, editable=False) def __str__(self): - return force_unicode(u'%s' % (self.nazev, )) + return force_unicode('%s' % (self.nazev, )) # Implicitini implementace, jednotlivé dědící třídy si přepíšou def kod_v_rocniku(self): @@ -512,7 +512,7 @@ class Problem(SeminarModelBase): if self.nadproblem: return force_unicode(self.nadproblem.kod_v_rocniku()+".{}".format(self.kod)) return force_unicode(str(self.kod)) - return u'' + return '' def verejne(self): return (self.cislo_zadani and self.cislo_zadani.verejne()) @@ -542,61 +542,61 @@ class Problem(SeminarModelBase): class Tema(Problem): class Meta: db_table = 'seminar_temata' - verbose_name = u'Téma' - verbose_name_plural = u'Témata' + verbose_name = 'Téma' + verbose_name_plural = 'Témata' TEMA_TEMA = 'tema' TEMA_SERIAL = 'serial' TEMA_CHOICES = [ - (TEMA_TEMA, u'Téma'), - (TEMA_SERIAL, u'Seriál'), + (TEMA_TEMA, 'Téma'), + (TEMA_SERIAL, 'Seriál'), ] - typ = models.CharField(u'Typ tématu', max_length=16, choices=TEMA_CHOICES, blank=False, default=TEMA_TEMA) + typ = models.CharField('Typ tématu', max_length=16, choices=TEMA_CHOICES, blank=False, default=TEMA_TEMA) - rocnik = models.ForeignKey(Rocnik, verbose_name=u'ročník', related_name='rocnik',blank=True, null=True) + rocnik = models.ForeignKey(Rocnik, verbose_name='ročník', related_name='rocnik',blank=True, null=True) def kod_v_rocniku(self): if self.stav == 'zadany': if self.nadproblem: return force_unicode(self.nadproblem.kod_v_rocniku()+".t{}".format(self.kod)) return force_unicode("t{}".format(self.kod)) - return u'' + return '' class Clanek(Problem): class Meta: db_table = 'seminar_clanky' - verbose_name = u'Článek' - verbose_name_plural = u'Články' + verbose_name = 'Článek' + verbose_name_plural = 'Články' - cislo = models.ForeignKey(Cislo, verbose_name=u'číslo', related_name='cislo', blank=True, null=True) + cislo = models.ForeignKey(Cislo, verbose_name='číslo', related_name='cislo', blank=True, null=True) def kod_v_rocniku(self): if self.stav == 'zadany': # Nemělo by být potřeba # if self.nadproblem: # return force_unicode(self.nadproblem.kod_v_rocniku()+".c{}".format(self.kod)) return force_unicode("c{}".format(self.kod)) - return u'' + return '' class Uloha(Problem): class Meta: db_table = 'seminar_ulohy' - verbose_name = u'Úloha' - verbose_name_plural = u'Úlohy' + verbose_name = 'Úloha' + verbose_name_plural = 'Úlohy' - zadani = models.ForeignKey(Text, verbose_name=u'veřejné zadání', related_name='zadani', blank=True, null=True) + zadani = models.ForeignKey(Text, verbose_name='veřejné zadání', related_name='zadani', blank=True, null=True) - vzorak = models.ForeignKey(Text, verbose_name=u'vzorové řešení', related_name='vzorak', blank=True, null=True) + vzorak = models.ForeignKey(Text, verbose_name='vzorové řešení', related_name='vzorak', blank=True, null=True) - cislo_zadani = models.ForeignKey(Cislo, verbose_name=u'číslo zadání', blank=True, null=True, related_name=u'zadane_ulohy') + cislo_zadani = models.ForeignKey(Cislo, verbose_name='číslo zadání', blank=True, null=True, related_name='zadane_ulohy') - cislo_deadline = models.ForeignKey(Cislo, verbose_name=u'číslo deadlinu', blank=True, null=True, related_name=u'deadlinove_ulohy') + cislo_deadline = models.ForeignKey(Cislo, verbose_name='číslo deadlinu', blank=True, null=True, related_name='deadlinove_ulohy') - cislo_reseni = models.ForeignKey(Cislo, verbose_name=u'číslo řešení', blank=True, null=True, related_name=u'resene_ulohy', - help_text=u'Číslo s řešením úlohy, jen pro úlohy') + cislo_reseni = models.ForeignKey(Cislo, verbose_name='číslo řešení', blank=True, null=True, related_name='resene_ulohy', + help_text='Číslo s řešením úlohy, jen pro úlohy') - max_body = models.DecimalField(max_digits=8, decimal_places=1, verbose_name=u'maximum bodů', blank=True, null=True) + max_body = models.DecimalField(max_digits=8, decimal_places=1, verbose_name='maximum bodů', blank=True, null=True) def kod_v_rocniku(self): if self.stav == 'zadany': @@ -604,7 +604,7 @@ class Uloha(Problem): if self.nadproblem: return force_unicode(self.nadproblem.kod_v_rocniku()+name) return force_unicode(name) - return u'' + return '' @@ -614,45 +614,45 @@ class Reseni(SeminarModelBase): class Meta: db_table = 'seminar_reseni' - verbose_name = u'Řešení' - verbose_name_plural = u'Řešení' + verbose_name = 'Řešení' + verbose_name_plural = 'Řešení' ordering = ['-problem_id', 'resitel'] # Interní ID id = models.AutoField(primary_key = True) # Ke každé dvojici řešní a problém existuje nanejvýš jedno hodnocení, doplnění vazby. - problem = models.ManyToManyField(Problem, verbose_name=u'problém', help_text=u'Problém', + problem = models.ManyToManyField(Problem, verbose_name='problém', help_text='Problém', through='Hodnoceni') - resitele = models.ManyToManyField(Resitel, verbose_name=u'autoři řešení', - help_text=u'Seznam autorů řešení', through='Reseni_Resitele') + resitele = models.ManyToManyField(Resitel, verbose_name='autoři řešení', + help_text='Seznam autorů řešení', through='Reseni_Resitele') - cas_doruceni = models.DateTimeField(u'čas_doručení', default=timezone.now, blank=True) + cas_doruceni = models.DateTimeField('čas_doručení', default=timezone.now, blank=True) FORMA_PAPIR = 'papir' FORMA_EMAIL = 'email' FORMA_UPLOAD = 'upload' FORMA_CHOICES = [ - (FORMA_PAPIR, u'Papírové řešení'), - (FORMA_EMAIL, u'Emailem'), - (FORMA_UPLOAD, u'Upload přes web'), + (FORMA_PAPIR, 'Papírové řešení'), + (FORMA_EMAIL, 'Emailem'), + (FORMA_UPLOAD, 'Upload přes web'), ] - forma = models.CharField(u'forma řešení', max_length=16, choices=FORMA_CHOICES, blank=False, + forma = models.CharField('forma řešení', max_length=16, choices=FORMA_CHOICES, blank=False, default=FORMA_EMAIL) - text_cely = models.ForeignKey(Text, verbose_name=u'Plná verze textu řešení', + text_cely = models.ForeignKey(Text, verbose_name='Plná verze textu řešení', blank=True, null=True) - text_zkraceny = models.ManyToManyField(Text, verbose_name=u'zkrácené verze řešení', - help_text=u'Seznam úryvků z řešení') + text_zkraceny = models.ManyToManyField(Text, verbose_name='zkrácené verze řešení', + help_text='Seznam úryvků z řešení') - poznamka = models.TextField(u'neveřejná poznámka', blank=True, - help_text=u'Neveřejná poznámka k řešení (plain text)') + poznamka = models.TextField('neveřejná poznámka', blank=True, + help_text='Neveřejná poznámka k řešení (plain text)') - zverejneno = models.BooleanField(u'řešení zveřejněno', default=False, - help_text=u'Udává, zda je řešení zveřejněno') + zverejneno = models.BooleanField('řešení zveřejněno', default=False, + help_text='Udává, zda je řešení zveřejněno') def __str__(self): return force_unicode(u"%s: %s".format(self.resitel.osoba.plne_jmeno(), @@ -669,22 +669,22 @@ class Reseni(SeminarModelBase): class Hodnoceni(SeminarModelBase): class Meta: db_table = 'seminar_hodnoceni' - verbose_name = u'Hodnocení' - verbose_name_plular = u'Hodnocení' + verbose_name = 'Hodnocení' + verbose_name_plular = 'Hodnocení' # Interní ID id = models.AutoField(primary_key = True) - body = models.DecimalField(max_digits=8, decimal_places=1, verbose_name=u'body', + body = models.DecimalField(max_digits=8, decimal_places=1, verbose_name='body', blank=False, null=False) - cislo_body = models.ForeignKey(Cislo, verbose_name=u'číslo pro body', + cislo_body = models.ForeignKey(Cislo, verbose_name='číslo pro body', related_name='hodnoceni', blank=False, null=False) - reseni = models.ForeignKey(Reseni, verbose_name=u'řešení') + reseni = models.ForeignKey(Reseni, verbose_name='řešení') - problem = models.ForeignKey(Problem, verbose_name=u'problém') + problem = models.ForeignKey(Problem, verbose_name='problém') @@ -728,21 +728,21 @@ class PrilohaReseni(SeminarModelBase): class Meta: db_table = 'seminar_priloha_reseni' - verbose_name = u'Příloha řešení' - verbose_name_plural = u'Přílohy řešení' + verbose_name = 'Příloha řešení' + verbose_name_plural = 'Přílohy řešení' ordering = ['reseni', 'timestamp'] # Interní ID id = models.AutoField(primary_key = True) - reseni = models.ForeignKey(Reseni, verbose_name=u'řešení', related_name='prilohy') + reseni = models.ForeignKey(Reseni, verbose_name='řešení', related_name='prilohy') - vytvoreno = models.DateTimeField(u'vytvořeno', default=timezone.now, blank=True, editable=False) + vytvoreno = models.DateTimeField('vytvořeno', default=timezone.now, blank=True, editable=False) - soubor = models.FileField(u'soubor', upload_to = generate_filename) + soubor = models.FileField('soubor', upload_to = generate_filename) - poznamka = models.TextField(u'neveřejná poznámka', blank=True, - help_text=u'Neveřejná poznámka k příloze řešení (plain text), např. o původu') + poznamka = models.TextField('neveřejná poznámka', blank=True, + help_text='Neveřejná poznámka k příloze řešení (plain text), např. o původu') def __str__(self): return force_unicode(self.soubor) @@ -754,23 +754,23 @@ class Pohadka(SeminarModelBase): class Meta: db_table = 'seminar_pohadky' - verbose_name = u'Pohádka' - verbose_name_plural = u'Pohádky' + verbose_name = 'Pohádka' + verbose_name_plural = 'Pohádky' ordering = ['uloha__cislo_zadani', 'uloha__kod', '-pred'] # Interní ID id = models.AutoField(primary_key=True) - text = models.TextField(u'Text pohádky') + text = models.TextField('Text pohádky') uloha = models.ForeignKey( Uloha, - verbose_name=u'Úloha', + verbose_name='Úloha', related_name='pohadky' ) # Kusů pohádky je v čísle obvykle o 1 více, než úloh. Jeden bude za úlohou # místo před ní. - pred = models.BooleanField(u'Před úlohou', default=True) + pred = models.BooleanField('Před úlohou', default=True) autor = models.ForeignKey( Organizator, @@ -782,7 +782,7 @@ class Pohadka(SeminarModelBase): ) vytvoreno = models.DateTimeField( - u'Vytvořeno', + 'Vytvořeno', default=timezone.now, blank=True, editable=False @@ -798,11 +798,11 @@ class Pohadka(SeminarModelBase): class Organizator(SeminarModelBase): # zmena dedicnosti z models.Model na SeminarModelBase, potencialni vznik bugu - osoba = models.ForeignKey(Osoba, verbose_name=u'osoba', related_name='org' - help_text=u'osobní údaje organizátora', null=False, blank=False) + osoba = models.ForeignKey(Osoba, verbose_name='osoba', related_name='org' + help_text='osobní údaje organizátora', null=False, blank=False) vytvoreno = models.DateTimeField( - u'Vytvořeno', + 'Vytvořeno', default=timezone.now, blank=True, editable=False @@ -818,10 +818,10 @@ class Organizator(SeminarModelBase): "'Vystudovala Diskrétní modely a algoritmy (Mgr.)' nebo " "'Přednáší na MFF'") - strucny_popis_organizatora = models.TextField(u'Stručný popis organizátora', + strucny_popis_organizatora = models.TextField('Stručný popis organizátora', null = True, blank = True) - skola = models.CharField(u'Škola, kterou studuje', max_length = 256, null=True, blank=True, + skola = models.CharField('Škola, kterou studuje', max_length = 256, null=True, blank=True, help_text=u"Škola, např. MFF, VŠCHT, VUT, ... prostě aby se nemuselo psát do studuje" "školu, ale jen obor, možnost zobrazit zvlášť") @@ -844,51 +844,51 @@ class Soustredeni(SeminarModelBase): class Meta: db_table = 'seminar_soustredeni' - verbose_name = u'Soustředění' - verbose_name_plural = u'Soustředění' + verbose_name = 'Soustředění' + verbose_name_plural = 'Soustředění' ordering = ['-rocnik__rocnik', '-datum_zacatku'] # Interní ID id = models.AutoField(primary_key = True) - rocnik = models.ForeignKey(Rocnik, verbose_name=u'ročník', related_name='soustredeni') + rocnik = models.ForeignKey(Rocnik, verbose_name='ročník', related_name='soustredeni') - datum_zacatku = models.DateField(u'datum začátku', blank=True, null=True, - help_text=u'První den soustředění') + datum_zacatku = models.DateField('datum začátku', blank=True, null=True, + help_text='První den soustředění') - datum_konce = models.DateField(u'datum konce', blank=True, null=True, - help_text=u'Poslední den soustředění') + datum_konce = models.DateField('datum konce', blank=True, null=True, + help_text='Poslední den soustředění') - verejne_db = models.BooleanField(u'soustředění zveřejněno', db_column='verejne', default=False) + verejne_db = models.BooleanField('soustředění zveřejněno', db_column='verejne', default=False) - misto = models.CharField(u'místo soustředění', max_length=256, blank=True, default='', - help_text=u'Místo (název obce, volitelně též objektu') + misto = models.CharField('místo soustředění', max_length=256, blank=True, default='', + help_text='Místo (název obce, volitelně též objektu') - ucastnici = models.ManyToManyField(Resitel, verbose_name=u'účastníci soustředění', - help_text=u'Seznam účastníků soustředění', through='Soustredeni_Ucastnici') + ucastnici = models.ManyToManyField(Resitel, verbose_name='účastníci soustředění', + help_text='Seznam účastníků soustředění', through='Soustredeni_Ucastnici') organizatori = models.ManyToManyField(Organizator, - verbose_name=u'Organizátoři soustředění', - help_text=u'Seznam organizátorů soustředění', + verbose_name='Organizátoři soustředění', + help_text='Seznam organizátorů soustředění', through='Soustredeni_Organizatori') - text = models.TextField(u'text k soustředění (HTML)', blank=True, default='') + text = models.TextField('text k soustředění (HTML)', blank=True, default='') TYP_JARNI = 'jarni' TYP_PODZIMNI = 'podzimni' TYP_VIKEND = 'vikend' TYP_CHOICES = [ - (TYP_JARNI, u'Jarní soustředění'), - (TYP_PODZIMNI, u'Podzimní soustředění'), - (TYP_VIKEND, u'Víkendový sraz'), + (TYP_JARNI, 'Jarní soustředění'), + (TYP_PODZIMNI, 'Podzimní soustředění'), + (TYP_VIKEND, 'Víkendový sraz'), ] - typ = models.CharField(u'typ akce', max_length=16, choices=TYP_CHOICES, blank=False, default=TYP_PODZIMNI) + typ = models.CharField('typ akce', max_length=16, choices=TYP_CHOICES, blank=False, default=TYP_PODZIMNI) - exportovat = models.BooleanField(u'export do AESOPa', db_column='exportovat', default=False, - help_text=u'Exportuje se jen podle tohoto flagu (ne veřejnosti)') + exportovat = models.BooleanField('export do AESOPa', db_column='exportovat', default=False, + help_text='Exportuje se jen podle tohoto flagu (ne veřejnosti)') def __str__(self): - return force_unicode(u'%s (%s)'.format(self.misto, self.datum_zacatku)) + return force_unicode('%s (%s)'.format(self.misto, self.datum_zacatku)) def verejne(self): return self.verejne_db @@ -906,22 +906,22 @@ class Soustredeni_Ucastnici(SeminarModelBase): class Meta: db_table = 'seminar_soustredeni_ucastnici' - verbose_name = u'Účast na soustředění' - verbose_name_plural = u'Účasti na soustředění' + verbose_name = 'Účast na soustředění' + verbose_name_plural = 'Účasti na soustředění' ordering = ['soustredeni', 'resitel'] # Interní ID id = models.AutoField(primary_key = True) - resitel = models.ForeignKey(Resitel, verbose_name=u'řešitel') + resitel = models.ForeignKey(Resitel, verbose_name='řešitel') - soustredeni = models.ForeignKey(Soustredeni, verbose_name=u'soustředění') + soustredeni = models.ForeignKey(Soustredeni, verbose_name='soustředění') - poznamka = models.TextField(u'neveřejná poznámka', blank=True, - help_text=u'Neveřejná poznámka k účasti (plain text)') + poznamka = models.TextField('neveřejná poznámka', blank=True, + help_text='Neveřejná poznámka k účasti (plain text)') def __str__(self): - return force_unicode(u'%s na %s'.format(self.resitel, self.soustredeni)) + return force_unicode('%s na %s'.format(self.resitel, self.soustredeni)) # NOTE: Poteciální DB HOG bez select_related @reversion.register(ignore_duplicates=True) @@ -931,22 +931,22 @@ class Soustredeni_Organizatori(SeminarModelBase): class Meta: db_table = 'seminar_soustredeni_organizatori' - verbose_name = u'Účast organizátorů na soustředění' - verbose_name_plural = u'Účasti organizátorů na soustředění' + verbose_name = 'Účast organizátorů na soustředění' + verbose_name_plural = 'Účasti organizátorů na soustředění' ordering = ['soustredeni', 'organizator'] # Interní ID id = models.AutoField(primary_key = True) - organizator = models.ForeignKey(Organizator, verbose_name=u'organizátor') + organizator = models.ForeignKey(Organizator, verbose_name='organizátor') - soustredeni = models.ForeignKey(Soustredeni, verbose_name=u'soustředění') + soustredeni = models.ForeignKey(Soustredeni, verbose_name='soustředění') - poznamka = models.TextField(u'neveřejná poznámka', blank=True, - help_text=u'Neveřejná poznámka k účasti organizátora (plain text)') + poznamka = models.TextField('neveřejná poznámka', blank=True, + help_text='Neveřejná poznámka k účasti organizátora (plain text)') def __str__(self): - return force_unicode(u'%s na %s'.format(self.organizator, self.soustredeni)) + return force_unicode('%s na %s'.format(self.organizator, self.soustredeni)) # NOTE: Poteciální DB HOG bez select_related @@ -956,49 +956,49 @@ class Soustredeni_Organizatori(SeminarModelBase): class Konfera(models.Model): class Meta: db_table = 'seminar_konfera' - verbose_name = u'Konfera' - verbose_name_plural = u'Konfery' + verbose_name = 'Konfera' + verbose_name_plural = 'Konfery' # Interní ID id = models.AutoField(primary_key = True) - nazev = models.CharField(u'název konfery', max_length=40, help_text = u'Název konfery') + nazev = models.CharField('název konfery', max_length=40, help_text = 'Název konfery') - anotace = models.TextField(u'anotace', blank=True, - help_text=u'Popis, o čem bude konfera.') + anotace = models.TextField('anotace', blank=True, + help_text='Popis, o čem bude konfera.') - abstrakt = models.TextField(u'abstrakt', blank=True, - help_text=u'Abstrakt konfery tak, jak byl uveden ve sborníku') + abstrakt = models.TextField('abstrakt', blank=True, + help_text='Abstrakt konfery tak, jak byl uveden ve sborníku') - organizator = models.ForeignKey(Organizator, verbose_name=u'organizátor', related_name='konfery', + organizator = models.ForeignKey(Organizator, verbose_name='organizátor', related_name='konfery', on_delete = models.SET_NULL, null=True) - ucastnici = models.ManyToManyField(Resitel, verbose_name=u'účastníci konfery', - help_text=u'Seznam účastníků konfery', through='Konfery_Ucastnici') + ucastnici = models.ManyToManyField(Resitel, verbose_name='účastníci konfery', + help_text='Seznam účastníků konfery', through='Konfery_Ucastnici') - soustredeni = models.ForeignKey(Soustredeni, verbose_name=u'soustředění', + soustredeni = models.ForeignKey(Soustredeni, verbose_name='soustředění', related_name='konfery', on_delete = models.SET_NULL, null=True) - poznamka = models.TextField(u'neveřejná poznámka', blank=True, - help_text=u'Neveřejná poznámka ke konfeře(plain text)') + poznamka = models.TextField('neveřejná poznámka', blank=True, + help_text='Neveřejná poznámka ke konfeře(plain text)') - reseni = models.ForeignKey(Reseni, verbose_name=u'článek ke konfeře', related_name='konfery', - help_text=u'Účastnický přípěvek o konfeře', on_delete = models.SET_NULL, + reseni = models.ForeignKey(Reseni, verbose_name='článek ke konfeře', related_name='konfery', + help_text='Účastnický přípěvek o konfeře', on_delete = models.SET_NULL, null=True, blank=True) TYP_VELETRH = 'veletrh' TYP_PREZENTACE = 'prezentace' TYP_CHOICES = [ - (TYP_VELETRH, u'Veletrh (postery)'), - (TYP_PREZENTACE, u'Prezentace (přednáška)'), + (TYP_VELETRH, 'Veletrh (postery)'), + (TYP_PREZENTACE, 'Prezentace (přednáška)'), ] - typ_prezentace = models.CharField(u'typ prezentace', max_length=16, choices=TYP_CHOICES, + typ_prezentace = models.CharField('typ prezentace', max_length=16, choices=TYP_CHOICES, blank=False, default=TYP_VELETRH) - prezentace = models.FileField(u'prezentace',help_text = u'Prezentace nebo fotka posteru', + prezentace = models.FileField('prezentace',help_text = 'Prezentace nebo fotka posteru', upload_to = generate_filename_konfera, blank=True) - materialy = models.FileField(u'materialy', - help_text = u'Další materiály ke konfeře zabalené do jednoho souboru', + materialy = models.FileField('materialy', + help_text = 'Další materiály ke konfeře zabalené do jednoho souboru', upload_to = generate_filename_konfera, blank=True) def __str__(self): @@ -1012,58 +1012,58 @@ class Konfery_Ucastnici(models.Model): class Meta: db_table = 'seminar_konfery_ucastnici' - verbose_name = u'Účast na konfeře' - verbose_name_plural = u'Účasti na konfeře' + verbose_name = 'Účast na konfeře' + verbose_name_plural = 'Účasti na konfeře' ordering = ['konfera', 'resitel'] # Interní ID id = models.AutoField(primary_key = True) - resitel = models.ForeignKey(Resitel, verbose_name=u'řešitel') + resitel = models.ForeignKey(Resitel, verbose_name='řešitel') - konfera = models.ForeignKey(Konfera, verbose_name=u'konfera') + konfera = models.ForeignKey(Konfera, verbose_name='konfera') - poznamka = models.TextField(u'neveřejná poznámka', blank=True, - help_text=u'Neveřejná poznámka k účasti (plain text)') + poznamka = models.TextField('neveřejná poznámka', blank=True, + help_text='Neveřejná poznámka k účasti (plain text)') def __str__(self): - return force_unicode(u'%s na %s'.format(self.resitel, self.konfera, )) + return force_unicode('%s na %s'.format(self.resitel, self.konfera, )) # NOTE: Poteciální DB HOG bez select_related class Obrazek(SeminarModelBase): class Meta: db_table = 'seminar_obrazky' - verbose_name = u'obrázek' - verbose_name_plural = u'obrázky' + verbose_name = 'obrázek' + verbose_name_plural = 'obrázky' # Interní ID id = models.AutoField(primary_key = True) - na_web = models.ImageField(u'obrázek na web', upload_to='obrazky/%Y/%m/%d/', + na_web = models.ImageField('obrázek na web', upload_to='obrazky/%Y/%m/%d/', null=True, blank=True) - text = models.ForeignKey(Text, verbose_name='text', help_text=u'text, ve kterém + text = models.ForeignKey(Text, verbose_name='text', help_text='text, ve kterém se obrázek vyskytuje', null=False, blank=False) - do_cisla_barevny = models.FileField(u'barevný obrázek do čísla', - help_text = u'Barevná verze obrázku do čísla', + do_cisla_barevny = models.FileField('barevný obrázek do čísla', + help_text = 'Barevná verze obrázku do čísla', upload_to = 'obrazky/%Y/%m/%d/', blank=True, null=True) - do_cisla_cernobily = models.FileField(u'černobílý obrázek do čísla', - help_text = u'Černobílá verze obrázku do čísla', + do_cisla_cernobily = models.FileField('černobílý obrázek do čísla', + help_text = 'Černobílá verze obrázku do čísla', upload_to = 'obrazky/%Y/%m/%d/', blank=True, null=True) class Text(SeminarModelBase): class Meta: db_table = 'seminar_texty' - verbose_name = u'text' - verbose_name_plular = u'texty' + verbose_name = 'text' + verbose_name_plular = 'texty' - na_web = models.TextField(u'text na web', blank=True, - help_text=u'Text ke zveřejnění na webu') + na_web = models.TextField('text na web', blank=True, + help_text='Text ke zveřejnění na webu') - do_cisla = models.TextField(u'text do čísla', blank=True, - help_text=u'Text ke zveřejnění v čísle') + do_cisla = models.TextField('text do čísla', blank=True, + help_text='Text ke zveřejnění v čísle') # obrázky mají návaznost opačným směrem (vazba z druhé strany) @@ -1072,23 +1072,23 @@ class Text(SeminarModelBase): #class VysledkyBase(SeminarModelBase): # # class Meta: -# verbose_name = u'Řádek výsledkovky' -# verbose_name_plural = u'Řádky výsledkovky' +# verbose_name = 'Řádek výsledkovky' +# verbose_name_plural = 'Řádky výsledkovky' # ordering = ['body'] # abstract = True # managed = False # -# dummy_id = models.CharField(u'dummy ID pro view', max_length=32, primary_key=True, +# dummy_id = models.CharField('dummy ID pro view', max_length=32, primary_key=True, # db_column='id') # -# cislo = models.ForeignKey(Cislo, verbose_name=u'číslo pro body', db_column='cislo_id', +# cislo = models.ForeignKey(Cislo, verbose_name='číslo pro body', db_column='cislo_id', # on_delete=models.DO_NOTHING) # -# resitel = models.ForeignKey(Resitel, verbose_name=u'řešitel', db_column='resitel_id', +# resitel = models.ForeignKey(Resitel, verbose_name='řešitel', db_column='resitel_id', # on_delete=models.DO_NOTHING) # # body = models.DecimalField(max_digits=8, decimal_places=1, db_column='body', -# verbose_name=u'body za číslo') +# verbose_name='body za číslo') # # def __str__(self): # return force_unicode(u"%s: %sb (%s)".format(self.resitel.plne_jmeno(), self.body, @@ -1114,7 +1114,7 @@ class Text(SeminarModelBase): # managed = False # ## body = models.DecimalField(max_digits=8, decimal_places=1, db_column='body', -## verbose_name=u'body do čísla (za ročník)') +## verbose_name='body do čísla (za ročník)') # # ## FIXME: Logiku přesunout do views. @@ -1126,7 +1126,7 @@ class Text(SeminarModelBase): # managed = False # ## body = models.DecimalField(max_digits=8, decimal_places=1, db_column='body', -## verbose_name=u'body do čísla (i minulé ročníky)') +## verbose_name='body do čísla (i minulé ročníky)') # # ## FIXME: Logiku přesunout do views. @@ -1139,7 +1139,7 @@ class Text(SeminarModelBase): # managed = False # # body_celkem = models.DecimalField(max_digits=8, decimal_places=1, db_column='body_celkem', -# verbose_name=u'body celkem do čísla včetně minulých ročníků') +# verbose_name='body celkem do čísla včetně minulých ročníků') # # def __str__(self): # # NOTE: DB HOG (ale nepouzivany) @@ -1153,15 +1153,15 @@ class Nastaveni(SingletonModel): class Meta: db_table = 'seminar_nastaveni' - verbose_name = u'Nastavení semináře' + verbose_name = 'Nastavení semináře' - aktualni_rocnik = models.ForeignKey(Rocnik, verbose_name=u'aktuální ročník', null=False) + aktualni_rocnik = models.ForeignKey(Rocnik, verbose_name='aktuální ročník', null=False) - aktualni_cislo = models.ForeignKey(Cislo, verbose_name=u'poslední vydané číslo', + aktualni_cislo = models.ForeignKey(Cislo, verbose_name='poslední vydané číslo', null=False) def __str__(self): - return u'Nastavení semináře' + return 'Nastavení semináře' def admin_url(self): return reverse('admin:seminar_nastaveni_change', args=(self.id, ))