Úpravy výsledkovky #36
					 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 self.nadproblem.kod_v_rocniku+".{}".format(self.kod)
 | 
				
			||||||
			return str(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ý.")
 | 
							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):
 | 
					#	def verejne(self):
 | 
				
			||||||
#		# aktuálně podle stavu problému
 | 
					#		# 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.stav == Problem.STAV_ZADANY or self.stav == Problem.STAV_VYRESENY:
 | 
				
			||||||
			if self.nadproblem:
 | 
								if self.nadproblem:
 | 
				
			||||||
				return self.nadproblem.kod_v_rocniku+".t{}".format(self.kod)
 | 
									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ý.")
 | 
							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):
 | 
						def save(self, *args, **kwargs):
 | 
				
			||||||
		super().save(*args, **kwargs)
 | 
							super().save(*args, **kwargs)
 | 
				
			||||||
| 
						 | 
					@ -607,9 +607,9 @@ class Clanek(Problem):
 | 
				
			||||||
# Nemělo by být potřeba
 | 
					# Nemělo by být potřeba
 | 
				
			||||||
#			if self.nadproblem:
 | 
					#			if self.nadproblem:
 | 
				
			||||||
#				return self.nadproblem.kod_v_rocniku+".c{}".format(self.kod)
 | 
					#				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ý.")
 | 
							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):
 | 
						def node(self):
 | 
				
			||||||
		return None
 | 
							return None
 | 
				
			||||||
| 
						 | 
					@ -642,12 +642,9 @@ class Uloha(Problem):
 | 
				
			||||||
	@cached_property
 | 
						@cached_property
 | 
				
			||||||
	def kod_v_rocniku(self):
 | 
						def kod_v_rocniku(self):
 | 
				
			||||||
		if self.stav == Problem.STAV_ZADANY or self.stav == Problem.STAV_VYRESENY:
 | 
							if self.stav == Problem.STAV_ZADANY or self.stav == Problem.STAV_VYRESENY:
 | 
				
			||||||
			name="{}.u{}".format(self.cislo_zadani.poradi,self.kod)
 | 
								return f"{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ý.")
 | 
							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):
 | 
						def save(self, *args, **kwargs):
 | 
				
			||||||
		super().save(*args, **kwargs)
 | 
							super().save(*args, **kwargs)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -257,7 +257,7 @@ class VysledkovkaCisla(Vysledkovka):
 | 
				
			||||||
		# (mají vlastní sloupeček ve výsledkovce, nemají nadproblém)
 | 
							# (mají vlastní sloupeček ve výsledkovce, nemají nadproblém)
 | 
				
			||||||
		hlavni_problemy = set()
 | 
							hlavni_problemy = set()
 | 
				
			||||||
		for p in self.problemy:
 | 
							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í
 | 
							# zunikátnění
 | 
				
			||||||
		hlavni_problemy = list(hlavni_problemy)
 | 
							hlavni_problemy = list(hlavni_problemy)
 | 
				
			||||||
| 
						 | 
					@ -313,7 +313,7 @@ class VysledkovkaCisla(Vysledkovka):
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		# Sečteme hodnocení
 | 
							# Sečteme hodnocení
 | 
				
			||||||
		for hodnoceni in self.hodnoceni_do_cisla:
 | 
							for hodnoceni in self.hodnoceni_do_cisla:
 | 
				
			||||||
			prob = hodnoceni.problem
 | 
								prob = hodnoceni.problem.get_real_instance()
 | 
				
			||||||
			nadproblem = prob.hlavni_problem.id
 | 
								nadproblem = prob.hlavni_problem.id
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			# Když nadproblém není "téma", pak je "Ostatní"
 | 
								# Když nadproblém není "téma", pak je "Ostatní"
 | 
				
			||||||
| 
						 | 
					@ -366,9 +366,9 @@ class VysledkovkaCisla(Vysledkovka):
 | 
				
			||||||
		for problem in self.problemy:
 | 
							for problem in self.problemy:
 | 
				
			||||||
			h_problem = problem.hlavni_problem
 | 
								h_problem = problem.hlavni_problem
 | 
				
			||||||
			if h_problem in temata_a_spol:
 | 
								if h_problem in temata_a_spol:
 | 
				
			||||||
				podproblemy[h_problem.id].append(problem)
 | 
									podproblemy[h_problem.id].append(problem.get_real_instance())
 | 
				
			||||||
			else:
 | 
								else:
 | 
				
			||||||
				podproblemy[-1].append(problem)
 | 
									podproblemy[-1].append(problem.get_real_instance())
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		for podproblem in podproblemy.keys():
 | 
							for podproblem in podproblemy.keys():
 | 
				
			||||||
			podproblemy[podproblem] = sorted(podproblemy[podproblem], key=lambda p: p.kod_v_rocniku)
 | 
								podproblemy[podproblem] = sorted(podproblemy[podproblem], key=lambda p: p.kod_v_rocniku)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in a new issue