přidání odkazů na aktivní témata na titulní stránku
This commit is contained in:
		
							parent
							
								
									b81420e06b
								
							
						
					
					
						commit
						67c1e43dc1
					
				
					 3 changed files with 34 additions and 12 deletions
				
			
		|  | @ -698,6 +698,7 @@ class Problem(SeminarModelBase,PolymorphicModel): | |||
| 		(STAV_SMAZANY, 'Smazaný'), | ||||
| 		] | ||||
| 	stav = models.CharField('stav problému', max_length=32, choices=STAV_CHOICES, blank=False, default=STAV_NAVRH) | ||||
| 	# Téma je taky Problém, takže má stavy, "zadané" témátko je aktuálně otevřené a dá se k němu něco poslat (řešení nebo článek) | ||||
| 
 | ||||
| 	zamereni = TaggableManager(verbose_name='zaměření',  | ||||
| 		help_text='Zaměření M/F/I/O problému, příp. další tagy', blank=True) | ||||
|  |  | |||
|  | @ -40,6 +40,9 @@ | |||
| 
 | ||||
|   <div class="vitej"> | ||||
|     Přidej se k nám! Pusť se do řešení témát a pojeď na soustředění. | ||||
|     {% for tema in aktualni_temata %} | ||||
|     <a href="{{ tema.url }}"> <div class="button"> {{ tema.nazev }} </div> </a> | ||||
|     {% endfor %} | ||||
|   </div> | ||||
|    | ||||
| </div> | ||||
|  |  | |||
|  | @ -43,14 +43,15 @@ import time | |||
| 
 | ||||
| from seminar.utils import aktivniResitele, resi_v_rocniku | ||||
| 
 | ||||
| 
 | ||||
| def verejna_temata(rocnik): | ||||
| 	"""Vrací queryset zveřejněných témat v daném ročníku. | ||||
| 	""" | ||||
| 	return Problem.objects.filter(typ=Problem.TYP_TEMA, cislo_zadani__rocnik=rocnik, cislo_zadani__verejne_db=True).order_by('kod') | ||||
| 
 | ||||
| def temata_v_rocniku(rocnik): | ||||
| 	return Problem.objects.filter(typ=Problem.TYP_TEMA, rocnik=rocnik) | ||||
| # ze starého modelu | ||||
| #def verejna_temata(rocnik): | ||||
| #	""" | ||||
| #	Vrací queryset zveřejněných témat v daném ročníku. | ||||
| #	""" | ||||
| #	return Problem.objects.filter(typ=Problem.TYP_TEMA, cislo_zadani__rocnik=rocnik, cislo_zadani__verejne_db=True).order_by('kod') | ||||
| # | ||||
| #def temata_v_rocniku(rocnik): | ||||
| #	return Problem.objects.filter(typ=Problem.TYP_TEMA, rocnik=rocnik) | ||||
| 
 | ||||
| def get_problemy_k_tematu(tema): | ||||
| 	return Problem.objects.filter(nadproblem = tema) | ||||
|  | @ -242,6 +243,12 @@ def spravne_novinky(request): | |||
| 		qs = qs.filter(zverejneno=True) | ||||
| 	return qs.order_by('-datum') | ||||
| 
 | ||||
| def aktualni_temata(rocnik): | ||||
| 	""" | ||||
| 	Vrací PolymorphicQuerySet témat v daném ročníku, ke kterým se aktuálně dá něco odevzdat. | ||||
| 	""" | ||||
| 	return Tema.objects.filter(rocnik=rocnik, stav='zadany').order_by('kod') | ||||
| 
 | ||||
| 
 | ||||
| class TitulniStranaView(generic.ListView): | ||||
| 	template_name='seminar/titulnistrana.html' | ||||
|  | @ -283,7 +290,16 @@ class TitulniStranaView(generic.ListView): | |||
| 			context['deadline_soustredeni'] = deadline_soustredeni | ||||
| 
 | ||||
| 		# Aktuální témata | ||||
| 		nazvy_a_odkazy_na_aktualni_temata = [] | ||||
| 		akt_temata = aktualni_temata(nastaveni.aktualni_rocnik) | ||||
| 
 | ||||
| 		for tema in akt_temata: | ||||
| 			# FIXME: netuším, jestli funguje tema.verejne_url(), nemáme testdata na témátka - je to asi url vzhledem k ročníku | ||||
| 			nazvy_a_odkazy_na_aktualni_temata.append({'nazev':tema.nazev,'url':tema.verejne_url()}) | ||||
| 
 | ||||
| 		context['aktualni_temata'] = nazvy_a_odkazy_na_aktualni_temata | ||||
| 
 | ||||
| 		print(context) | ||||
| 
 | ||||
| 		return context | ||||
| 
 | ||||
|  | @ -347,7 +363,8 @@ class ArchivView(generic.ListView): | |||
| ### Výsledky | ||||
| 
 | ||||
| def sloupec_s_poradim(setrizene_body): | ||||
| 	""" Ze seznamu obsahujícího sestupně setřízené body řešitelů za daný ročník  | ||||
| 	""" | ||||
| 	Ze seznamu obsahujícího sestupně setřízené body řešitelů za daný ročník  | ||||
| 	vytvoří seznam s pořadími (včetně 3.-5. a pak 2 volná místa atp.), | ||||
| 	podle toho, jak jdou za sebou ve výsledkovce. | ||||
| 	Parametr: | ||||
|  | @ -387,7 +404,8 @@ def sloupec_s_poradim(setrizene_body): | |||
| 	return sloupec_s_poradim | ||||
| 
 | ||||
| def cisla_rocniku(rocnik, jen_verejne=True): | ||||
| 	""" Vrátí všechna čísla daného ročníku. | ||||
| 	""" | ||||
| 	Vrátí všechna čísla daného ročníku. | ||||
| 	Parametry: | ||||
| 		rocnik (Rocnik): ročník semináře | ||||
| 		jen_verejne (bool): zda se mají vrátit jen veřejná, nebo všechna čísla | ||||
|  |  | |||
		Loading…
	
		Reference in a new issue
	
	 Kateřina Č
						Kateřina Č