Browse Source

Save hook, který aktualizuje názvy *Nodů

export_seznamu_prednasek
Pavel 'LEdoian' Turinsky 5 years ago
parent
commit
8ff93a0c5c
  1. 55
      seminar/models.py

55
seminar/models.py

@ -384,6 +384,10 @@ class Rocnik(SeminarModelBase):
cache.set(name, c, 300)
return c
def save(self):
super().save()
# *Node.save() aktualizuje název *Nodu.
self.rocniknode.save()
def cislo_pdf_filename(self, filename):
rocnik = str(self.rocnik.rocnik)
@ -477,6 +481,11 @@ class Cislo(SeminarModelBase):
return None
return c
def save(self):
super().save()
# *Node.save() aktualizuje název *Nodu.
self.cislonode.save()
@reversion.register(ignore_duplicates=True)
class Organizator(SeminarModelBase):
# zmena dedicnosti z models.Model na SeminarModelBase, potencialni vznik bugu
@ -707,6 +716,12 @@ class Tema(Problem):
return "t{}".format(self.kod)
return '<Není zadaný>'
def save(self):
super().save()
# *Node.save() aktualizuje název *Nodu.
for tvcn in self_temavcislenode_set:
tvcn.save()
class Clanek(Problem):
class Meta:
db_table = 'seminar_clanky'
@ -727,6 +742,11 @@ class Clanek(Problem):
return "c{}".format(self.kod)
return '<Není zadaný>'
def save(self):
super().save()
# *Node.save() aktualizuje název *Nodu.
self.claneknode.save()
class Text(SeminarModelBase):
class Meta:
db_table = 'seminar_texty'
@ -744,6 +764,12 @@ class Text(SeminarModelBase):
# obrázky mají návaznost opačným směrem (vazba z druhé strany)
def save(self):
super().save()
# *Node.save() aktualizuje název *Nodu.
for tn in self.textnode_set:
tn.save()
class Uloha(Problem):
@ -778,6 +804,12 @@ class Uloha(Problem):
return name
return '<Není zadaný>'
def save(self):
super().save()
# *Node.save() aktualizuje název *Nodu.
self.ulohazadaninode.save()
self.ulohavzoraknode.save()
@reversion.register(ignore_duplicates=True)
class Reseni(SeminarModelBase):
@ -959,6 +991,10 @@ class Pohadka(SeminarModelBase):
uryvek = self.text if len(self.text) < 50 else self.text[:(50-3)]+"..."
return uryvek
def save(self):
super().save()
# *Node.save() aktualizuje název *Nodu.
self.pohadkanode.save()
@reversion.register(ignore_duplicates=True)
class Soustredeni_Ucastnici(SeminarModelBase):
@ -1069,6 +1105,11 @@ class Konfera(models.Model):
def __str__(self):
return "{}: ({})".format(self.nazev, self.soustredeni)
def save(self):
super().save()
# *Node.save() aktualizuje název *Nodu.
self.konferanode.save()
# Vazebna tabulka. Mozna se generuje automaticky.
@reversion.register(ignore_duplicates=True)
@ -1182,6 +1223,10 @@ class TreeNode(PolymorphicModel):
else:
#TODO: logování
return "Nepojmenovaný Treenode"
def save(self):
self.aktualizuj_nazev()
super().save()
class RocnikNode(TreeNode):
class Meta:
@ -1194,7 +1239,6 @@ class RocnikNode(TreeNode):
def aktualizuj_nazev(self):
self.nazev = "RocnikNode: "+str(self.rocnik)
self.save()
class CisloNode(TreeNode):
class Meta:
@ -1207,7 +1251,6 @@ class CisloNode(TreeNode):
def aktualizuj_nazev(self):
self.nazev = "CisloNode: "+str(self.cislo)
self.save()
class MezicisloNode(TreeNode):
class Meta:
@ -1230,7 +1273,6 @@ class MezicisloNode(TreeNode):
else:
print("!!!!! Nějaké neidentifikované mezičíslo !!!!!")
self.nazev = "MezicisloNode: Neidentifikovatelné mezičíslo!"
self.save()
class TemaVCisleNode(TreeNode):
""" Obsahuje příspěvky k tématu v daném čísle """
@ -1244,7 +1286,6 @@ class TemaVCisleNode(TreeNode):
def aktualizuj_nazev(self):
self.nazev = "TemaVCisleNode: "+str(self.tema)
self.save()
class KonferaNode(TreeNode):
class Meta:
@ -1259,7 +1300,6 @@ class KonferaNode(TreeNode):
def aktualizuj_nazev(self):
self.nazev = "KonferaNode: "+str(self.konfera)
self.save()
class ClanekNode(TreeNode):
class Meta:
@ -1274,7 +1314,6 @@ class ClanekNode(TreeNode):
def aktualizuj_nazev(self):
self.nazev = "ClanekNode: "+str(self.clanek)
self.save()
class UlohaZadaniNode(TreeNode):
class Meta:
@ -1289,7 +1328,6 @@ class UlohaZadaniNode(TreeNode):
def aktualizuj_nazev(self):
self.nazev = "UlohaZadaniNode: "+str(self.uloha)
self.save()
class PohadkaNode(TreeNode):
class Meta:
@ -1303,7 +1341,6 @@ class PohadkaNode(TreeNode):
def aktualizuj_nazev(self):
self.nazev = "PohadkaNode: "+str(self.pohadka)
self.save()
class UlohaVzorakNode(TreeNode):
class Meta:
@ -1318,7 +1355,6 @@ class UlohaVzorakNode(TreeNode):
def aktualizuj_nazev(self):
self.nazev = "UlohaVzorakNode: "+str(self.uloha)
self.save()
class TextNode(TreeNode):
class Meta:
@ -1331,7 +1367,6 @@ class TextNode(TreeNode):
def aktualizuj_nazev(self):
self.nazev = "TextNode: "+str(self.text)
self.save()
## FIXME: Logiku přesunout do views.
#class VysledkyBase(SeminarModelBase):

Loading…
Cancel
Save