Mergem jsem si přitáhl špatnou verzi ProblemView, mažu.
This commit is contained in:
		
							parent
							
								
									a732ac805c
								
							
						
					
					
						commit
						55faab78d5
					
				
					 1 changed files with 0 additions and 26 deletions
				
			
		|  | @ -602,32 +602,6 @@ class RocnikView(generic.DetailView): | |||
| 
 | ||||
| 		return context | ||||
| 
 | ||||
| 
 | ||||
| class ProblemView(generic.DetailView): | ||||
| 	model = Problem | ||||
| 
 | ||||
| 	# Používáme funkci, protože přímo template_name neumí mít v přiřazení dost logiky. Ledaže by se to udělalo polymorfně... | ||||
| 	def get_template_names(self, **kwargs): | ||||
| 		# FIXME: Switch podle typu není hezký, ale nechtělo se mi to přepisovat celé. Správně by se tohle mělo řešit polymorfismem. | ||||
| 		spravne_templaty = { | ||||
| 				s.Uloha: "uloha", | ||||
| 				s.Tema: "tema", | ||||
| 				s.Konfera: "konfera", | ||||
| 				s.Clanek: "clanek", | ||||
| 				} | ||||
| 		context = super().get_context_data(**kwargs) | ||||
| 		return ['seminar/archiv/problem_' + spravne_templaty[context['object'].__class__]  + '.html'] | ||||
| 
 | ||||
| 	def get_context_data(self, **kwargs): | ||||
| 		context = super().get_context_data(**kwargs) | ||||
| 		# Musí se používat context['object'], protože nevíme, jestli dostaneme úložku, téma, článek, .... a tyhle věci vyrábějí různé klíče. | ||||
| 		if not context['object'].verejne() and not self.request.user.is_staff: | ||||
| 			raise PermissionDenied() | ||||
| 		if isinstance(context['object'], Clanek): | ||||
| 			context['reseni'] = Reseni.objects.filter(problem=context['object']).select_related('resitel').order_by('resitel__prijmeni') | ||||
| 		return context | ||||
| 
 | ||||
| 
 | ||||
| class RadekVysledkovkyCisla(object): | ||||
| 	"""Obsahuje věci, které se hodí vědět při konstruování výsledkovky. | ||||
| 	Umožňuje snazší práci v templatu (lepší, než seznam).""" | ||||
|  |  | |||
		Loading…
	
		Reference in a new issue
	
	 Pavel 'LEdoian' Turinsky
						Pavel 'LEdoian' Turinsky