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 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
	
	 MaM Web user
						MaM Web user