Přednášky #87
					 3 changed files with 5 additions and 73 deletions
				
			
		|  | @ -2,19 +2,19 @@ | |||
| 
 | ||||
| {% block content %} | ||||
|   <h1>{% block nadpis1a %} | ||||
| 	  Hlasování o přednáškách | ||||
| 	  Výsledky hlasování o přednáškách | ||||
| 	  {% endblock %}</h1> | ||||
|   {# Projdi vsechny seznamy #} | ||||
|   <div class="mam-org-only"> | ||||
|   <ul> | ||||
|   {% for seznam in object_list %} | ||||
|     <li> | ||||
|     {% if seznam.stav == 1 %} {# STAV_NAHRH = 1 #}  | ||||
|         <a href="/prednasky/seznam_prednasek/{{seznam.id}}">Návrh přednášek na soustředění {{seznam.soustredeni.misto}} </a> | ||||
|     {% if seznam.stav == seznam.Stav.NAVRH %} | ||||
|       Návrh přednášek na soustředění {{seznam.soustredeni.misto}} | ||||
|     {% else %} | ||||
|         <a href="/prednasky/seznam_prednasek/{{seznam.id}}">Seznam přednášek na soustředění {{seznam.soustredeni.misto}} </a> | ||||
|       Seznam přednášek na soustředění {{seznam.soustredeni.misto}} | ||||
|     {% endif %} | ||||
|     <a href='{% url "seznam-export-csv" seznam=seznam.id %}'>Export</a> | ||||
|       <a href='{% url "seznam-export-csv" seznam=seznam.id %}'>(CSV)</a> | ||||
|     </li> | ||||
|   {% endfor %} | ||||
|   </ul> | ||||
|  |  | |||
|  | @ -12,19 +12,9 @@ urlpatterns = [ | |||
| 		'prednasky/metaseznam_prednasek', | ||||
| 		org_required(views.MetaSeznamListView.as_view()), | ||||
| 		name='metaseznam-list'), | ||||
| 	# path( | ||||
| 	# 	'prednasky/seznam_prednasek/<int:seznam>/export', | ||||
| 	# 	org_required(views.SeznamExportView), | ||||
| 	# 	name='seznam-export' | ||||
| 	# ), | ||||
| 	path( | ||||
| 		'prednasky/seznam_prednasek/<int:seznam>/hlasovani.csv', | ||||
| 		org_required(views.PrednaskyExportView), | ||||
| 		name='seznam-export-csv' | ||||
| 	), | ||||
| 	path( | ||||
| 		'prednasky/seznam_prednasek/<int:seznam>/', | ||||
| 		org_required(views.SeznamListView.as_view()), | ||||
| 		name='seznam-list' | ||||
| 	), | ||||
| ] | ||||
|  |  | |||
|  | @ -133,64 +133,6 @@ class MetaSeznamListView(generic.ListView): | |||
| 	template_name = 'prednasky/metaseznam_prednasek.html' | ||||
| 
 | ||||
| 
 | ||||
| class SeznamListView(generic.ListView): | ||||
| 	""" | ||||
| 		Náhled na to, kolik má která přednáška v :py:class:`Seznamu <prednasky.models.Seznam>` :py:class:`hlasů <prednasky.models.Hlasovani.Body>`. | ||||
| 		(Je otázka, zda tento View vůbec chceme. Pokud ano, hodilo by se do něj přidat i znalosti.) | ||||
| 	""" | ||||
| 	template_name = 'prednasky/seznam_prednasek.html' | ||||
| 
 | ||||
| 	def get_queryset(self): | ||||
| 		self.seznam = get_object_or_404(Seznam, id=self.kwargs["seznam"]) | ||||
| 		prednasky = Prednaska.objects.filter(seznamy=self.seznam).order_by( | ||||
| 			'org__osoba__user__first_name', 'org__osoba__user__last_name' | ||||
| 		) | ||||
| 		return prednasky | ||||
| 
 | ||||
| 	# FIXME nahradit anotaci s filtrem po prechodu na Django 2.2 | ||||
| 	def get_context_data(self,**kwargs): | ||||
| 		context = super(SeznamListView, self).get_context_data(**kwargs) | ||||
| 
 | ||||
| 		# hlasovani se vztahuje k nejnovejsimu soustredeni | ||||
| 		sous = Soustredeni.objects.first() | ||||
| 		seznam = Seznam.objects.filter(soustredeni = sous, stav=Seznam.Stav.NAVRH).first() | ||||
| 	 | ||||
| 		for obj in self.object_list: | ||||
| 			hlasovani_set = obj.hlasovani_set.filter(seznam=seznam).only('body') | ||||
| 			obj.body = sum(map(lambda x: x.body,hlasovani_set)) | ||||
| 
 | ||||
| 		return context | ||||
| 
 | ||||
| 
 | ||||
| # def SeznamExportView(request, seznam): | ||||
| # 	"""Vypíše výsledky hlasování ve formátu pro prologovský optimalizátor""" | ||||
| # 	# TODO zřejmě se nepoužívá, časem vyřadit? nahradit tabulkou vhodnější pro | ||||
| # 	# lidi? | ||||
| # 	hlasovani = Hlasovani.objects.filter(seznam=seznam) | ||||
| # 	prednasky = Prednaska.objects.filter(seznamy=seznam) | ||||
| # 	orgove = set(p.org for p in prednasky) | ||||
| # 	ucastnici = set(h.ucastnik for h in hlasovani) | ||||
| # | ||||
| # 	for p in prednasky: | ||||
| # 		p.body = [] | ||||
| # 		for u in ucastnici: | ||||
| # 			try: | ||||
| # 				p.body.append(hlasovani.get(ucastnik=u, prednaska=p).body) | ||||
| # 			except ObjectDoesNotExist: | ||||
| # 				# účastník nehlasoval | ||||
| # 				p.body.append("?") | ||||
| # | ||||
| # 	for h in hlasovani: | ||||
| # 		h.ucastnik = hash(h.ucastnik) | ||||
| # | ||||
| # 	return render( | ||||
| # 		request, | ||||
| # 		'prednasky/seznam_prednasek_export.txt', | ||||
| # 		{"hlasovani": hlasovani, "prednasky": prednasky, "orgove": orgove}, | ||||
| # 		content_type="text/plain" | ||||
| # 	) | ||||
| 
 | ||||
| 
 | ||||
| def PrednaskyExportView(request: HttpRequest, seznam: int, **kwargs) -> HttpResponse: | ||||
| 	""" | ||||
| 		Vrátí všechna :py:class:`Hlasování <prednasky.models.Hlasovani>` | ||||
|  |  | |||
		Loading…
	
		Reference in a new issue