Browse Source

Fix kod_v_rocniku (viditelný např. ve výsledkovkách) má brát krom zadaných i vyřešené problémy (a jinak varovat)

export_seznamu_prednasek
Jonas Havelka 3 years ago
parent
commit
b7908106ed
  1. 12
      seminar/models/tvorba.py

12
seminar/models/tvorba.py

@ -390,10 +390,11 @@ class Problem(SeminarModelBase,PolymorphicModel):
# Implicitini implementace, jednotlivé dědící třídy si přepíšou
@cached_property
def kod_v_rocniku(self):
if self.stav == 'zadany':
if self.stav == Problem.STAV_ZADANY or self.stav == Problem.STAV_VYRESENY:
if self.nadproblem:
return self.nadproblem.kod_v_rocniku+".{}".format(self.kod)
return str(self.kod)
logger.warning(f"K problému {self} byl vyžadován kód v ročníku, i když není zadaný ani vyřešený.")
return '<Není zadaný>'
# def verejne(self):
@ -467,10 +468,11 @@ class Tema(Problem):
@cached_property
def kod_v_rocniku(self):
if self.stav == 'zadany':
if self.stav == Problem.STAV_ZADANY or self.stav == Problem.STAV_VYRESENY:
if self.nadproblem:
return self.nadproblem.kod_v_rocniku+".t{}".format(self.kod)
return "t{}".format(self.kod)
logger.warning(f"K problému {self} byl vyžadován kód v ročníku, i když není zadaný ani vyřešený.")
return '<Není zadaný>'
def save(self, *args, **kwargs):
@ -501,11 +503,12 @@ class Clanek(Problem):
@cached_property
def kod_v_rocniku(self):
if self.stav == 'zadany':
if self.stav == Problem.STAV_ZADANY or self.stav == Problem.STAV_VYRESENY:
# Nemělo by být potřeba
# if self.nadproblem:
# return self.nadproblem.kod_v_rocniku+".c{}".format(self.kod)
return "c{}".format(self.kod)
logger.warning(f"K problému {self} byl vyžadován kód v ročníku, i když není zadaný ani vyřešený.")
return '<Není zadaný>'
def node(self):
@ -538,11 +541,12 @@ class Uloha(Problem):
@cached_property
def kod_v_rocniku(self):
if self.stav == 'zadany':
if self.stav == Problem.STAV_ZADANY or self.stav == Problem.STAV_VYRESENY:
name="{}.u{}".format(self.cislo_zadani.poradi,self.kod)
if self.nadproblem:
return self.nadproblem.kod_v_rocniku+name
return name
logger.warning(f"K problému {self} byl vyžadován kód v ročníku, i když není zadaný ani vyřešený.")
return '<Není zadaný>'
def save(self, *args, **kwargs):

Loading…
Cancel
Save