@ -21,7 +21,7 @@ from taggit.managers import TaggableManager
from reversion import revisions as reversion
from reversion import revisions as reversion
from seminar . utils import roman
from seminar . utils import roman , FirstTagParser # Pro získání úryvku z TextNode
from unidecode import unidecode
from unidecode import unidecode
@ -785,7 +785,10 @@ class Text(SeminarModelBase):
for tn in self . textnode_set . all ( ) :
for tn in self . textnode_set . all ( ) :
tn . save ( )
tn . save ( )
def __str__ ( self ) :
parser = FirstTagParser ( )
parser . feed ( str ( self . na_web ) )
return parser . firstTag
class Uloha ( Problem ) :
class Uloha ( Problem ) :
class Meta :
class Meta :
@ -1239,7 +1242,14 @@ class TreeNode(PolymorphicModel):
verbose_name = " další element na stejné úrovni " )
verbose_name = " další element na stejné úrovni " )
nazev = models . TextField ( " název tohoto node " ,
nazev = models . TextField ( " název tohoto node " ,
help_text = " Tento název se zobrazuje v nabídkách pro výběr vhodného TreeNode " ,
help_text = " Tento název se zobrazuje v nabídkách pro výběr vhodného TreeNode " ,
blank = False , null = True )
blank = False ,
null = True )
zajimave = models . BooleanField ( default = False ,
verbose_name = " Zajímavé " ,
help_text = " Zobrazí se daná věc na rozcestníku témátek " )
srolovatelne = models . BooleanField ( null = True , blank = True ,
verbose_name = " Srolovatelné " ,
help_text = " Bude na stránce témátka možnost tuto položku skrýt " )
def print_tree ( self , indent = 0 ) :
def print_tree ( self , indent = 0 ) :
print ( " {} TreeNode( {} ) " . format ( " " * indent , self . id ) )
print ( " {} TreeNode( {} ) " . format ( " " * indent , self . id ) )
@ -1248,6 +1258,9 @@ class TreeNode(PolymorphicModel):
if self . succ :
if self . succ :
self . succ . print_tree ( indent = indent )
self . succ . print_tree ( indent = indent )
def getOdkaz ( self ) :
return self . first_child . getOdkaz ( )
def __str__ ( self ) :
def __str__ ( self ) :
if self . nazev :
if self . nazev :
return self . nazev
return self . nazev
@ -1283,6 +1296,9 @@ class CisloNode(TreeNode):
def aktualizuj_nazev ( self ) :
def aktualizuj_nazev ( self ) :
self . nazev = " CisloNode: " + str ( self . cislo )
self . nazev = " CisloNode: " + str ( self . cislo )
def getOdkaz ( self ) :
return " Číslo " + str ( self . cislo )
class MezicisloNode ( TreeNode ) :
class MezicisloNode ( TreeNode ) :
class Meta :
class Meta :
db_table = ' seminar_nodes_mezicislo '
db_table = ' seminar_nodes_mezicislo '
@ -1304,6 +1320,8 @@ class MezicisloNode(TreeNode):
else :
else :
print ( " !!!!! Nějaké neidentifikované mezičíslo !!!!! " )
print ( " !!!!! Nějaké neidentifikované mezičíslo !!!!! " )
self . nazev = " MezicisloNode: Neidentifikovatelné mezičíslo! "
self . nazev = " MezicisloNode: Neidentifikovatelné mezičíslo! "
def getOdkaz ( self ) :
return " Obsah dostupný pouze na webu "
class TemaVCisleNode ( TreeNode ) :
class TemaVCisleNode ( TreeNode ) :
""" Obsahuje příspěvky k tématu v daném čísle """
""" Obsahuje příspěvky k tématu v daném čísle """
@ -1318,6 +1336,9 @@ class TemaVCisleNode(TreeNode):
def aktualizuj_nazev ( self ) :
def aktualizuj_nazev ( self ) :
self . nazev = " TemaVCisleNode: " + str ( self . tema )
self . nazev = " TemaVCisleNode: " + str ( self . tema )
def getOdkaz ( self ) :
return str ( self . tema )
class KonferaNode ( TreeNode ) :
class KonferaNode ( TreeNode ) :
class Meta :
class Meta :
db_table = ' seminar_nodes_konfera '
db_table = ' seminar_nodes_konfera '
@ -1346,6 +1367,10 @@ class ClanekNode(TreeNode):
def aktualizuj_nazev ( self ) :
def aktualizuj_nazev ( self ) :
self . nazev = " ClanekNode: " + str ( self . clanek )
self . nazev = " ClanekNode: " + str ( self . clanek )
def getOdkaz ( self ) :
return str ( self . clanek )
class UlohaZadaniNode ( TreeNode ) :
class UlohaZadaniNode ( TreeNode ) :
class Meta :
class Meta :
db_table = ' seminar_nodes_uloha_zadani '
db_table = ' seminar_nodes_uloha_zadani '
@ -1360,6 +1385,10 @@ class UlohaZadaniNode(TreeNode):
def aktualizuj_nazev ( self ) :
def aktualizuj_nazev ( self ) :
self . nazev = " UlohaZadaniNode: " + str ( self . uloha )
self . nazev = " UlohaZadaniNode: " + str ( self . uloha )
def getOdkaz ( self ) :
return str ( self . uloha )
class PohadkaNode ( TreeNode ) :
class PohadkaNode ( TreeNode ) :
class Meta :
class Meta :
db_table = ' seminar_nodes_pohadka '
db_table = ' seminar_nodes_pohadka '
@ -1387,6 +1416,10 @@ class UlohaVzorakNode(TreeNode):
def aktualizuj_nazev ( self ) :
def aktualizuj_nazev ( self ) :
self . nazev = " UlohaVzorakNode: " + str ( self . uloha )
self . nazev = " UlohaVzorakNode: " + str ( self . uloha )
def getOdkaz ( self ) :
return str ( self . uloha )
class TextNode ( TreeNode ) :
class TextNode ( TreeNode ) :
class Meta :
class Meta :
db_table = ' seminar_nodes_obsah '
db_table = ' seminar_nodes_obsah '
@ -1399,6 +1432,10 @@ class TextNode(TreeNode):
def aktualizuj_nazev ( self ) :
def aktualizuj_nazev ( self ) :
self . nazev = " TextNode: " + str ( self . text )
self . nazev = " TextNode: " + str ( self . text )
def getOdkaz ( self ) :
return str ( self . text )
## FIXME: Logiku přesunout do views.
## FIXME: Logiku přesunout do views.
#class VysledkyBase(SeminarModelBase):
#class VysledkyBase(SeminarModelBase):
#
#