Nové kódy úloh ve výsledkovce
(Zprasený commit, má být na jiné větvi, já vím :-D)
This commit is contained in:
parent
e182785e48
commit
f14df7b579
2 changed files with 11 additions and 14 deletions
|
@ -491,7 +491,7 @@ class Problem(SeminarModelBase,PolymorphicModel):
|
|||
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ý>'
|
||||
return f'<Není zadaný: {self.kod}>'
|
||||
|
||||
# def verejne(self):
|
||||
# # aktuálně podle stavu problému
|
||||
|
@ -571,9 +571,9 @@ class Tema(Problem):
|
|||
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)
|
||||
return 't'+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ý>'
|
||||
return f'<Není zadaný: {self.kod}>'
|
||||
|
||||
def save(self, *args, **kwargs):
|
||||
super().save(*args, **kwargs)
|
||||
|
@ -607,9 +607,9 @@ class Clanek(Problem):
|
|||
# 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)
|
||||
return "c" + 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ý>'
|
||||
return f'<Není zadaný: {self.kod}>'
|
||||
|
||||
def node(self):
|
||||
return None
|
||||
|
@ -642,12 +642,9 @@ class Uloha(Problem):
|
|||
@cached_property
|
||||
def kod_v_rocniku(self):
|
||||
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
|
||||
return f"{self.cislo_zadani.poradi}.{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ý>'
|
||||
return f'<Není zadaný: {self.kod}>'
|
||||
|
||||
def save(self, *args, **kwargs):
|
||||
super().save(*args, **kwargs)
|
||||
|
|
|
@ -257,7 +257,7 @@ class VysledkovkaCisla(Vysledkovka):
|
|||
# (mají vlastní sloupeček ve výsledkovce, nemají nadproblém)
|
||||
hlavni_problemy = set()
|
||||
for p in self.problemy:
|
||||
hlavni_problemy.add(p.hlavni_problem)
|
||||
hlavni_problemy.add(p.hlavni_problem) # FIXME: proč tohle nemůže obsahovat reálné instance? Ve výsledkovce by se pak zobrazovaly správné kódy…
|
||||
|
||||
# zunikátnění
|
||||
hlavni_problemy = list(hlavni_problemy)
|
||||
|
@ -313,7 +313,7 @@ class VysledkovkaCisla(Vysledkovka):
|
|||
|
||||
# Sečteme hodnocení
|
||||
for hodnoceni in self.hodnoceni_do_cisla:
|
||||
prob = hodnoceni.problem
|
||||
prob = hodnoceni.problem.get_real_instance()
|
||||
nadproblem = prob.hlavni_problem.id
|
||||
|
||||
# Když nadproblém není "téma", pak je "Ostatní"
|
||||
|
@ -366,9 +366,9 @@ class VysledkovkaCisla(Vysledkovka):
|
|||
for problem in self.problemy:
|
||||
h_problem = problem.hlavni_problem
|
||||
if h_problem in temata_a_spol:
|
||||
podproblemy[h_problem.id].append(problem)
|
||||
podproblemy[h_problem.id].append(problem.get_real_instance())
|
||||
else:
|
||||
podproblemy[-1].append(problem)
|
||||
podproblemy[-1].append(problem.get_real_instance())
|
||||
|
||||
for podproblem in podproblemy.keys():
|
||||
podproblemy[podproblem] = sorted(podproblemy[podproblem], key=lambda p: p.kod_v_rocniku)
|
||||
|
|
Loading…
Reference in a new issue