|
@ -57,9 +57,24 @@ class SeznamListView(generic.ListView): |
|
|
self.seznam = get_object_or_404(Seznam, id=self.kwargs["seznam"]) |
|
|
self.seznam = get_object_or_404(Seznam, id=self.kwargs["seznam"]) |
|
|
prednasky = Prednaska.objects.filter(seznamy=self.seznam).order_by( |
|
|
prednasky = Prednaska.objects.filter(seznamy=self.seznam).order_by( |
|
|
'org__user__first_name', 'org__user__last_name' |
|
|
'org__user__first_name', 'org__user__last_name' |
|
|
).annotate(body=Sum('hlasovani__body')) |
|
|
) |
|
|
return prednasky |
|
|
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 = 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): |
|
|
def SeznamExportView(request, seznam): |
|
|
u"""Vypíše výsledky hlasování ve formátu pro prologovský optimalizátor""" |
|
|
u"""Vypíše výsledky hlasování ve formátu pro prologovský optimalizátor""" |
|
@ -86,7 +101,7 @@ def SeznamExportView(request, seznam): |
|
|
request, |
|
|
request, |
|
|
'prednasky/seznam_prednasek_export.txt', |
|
|
'prednasky/seznam_prednasek_export.txt', |
|
|
{"hlasovani": hlasovani, "prednasky": prednasky, "orgove": orgove}, |
|
|
{"hlasovani": hlasovani, "prednasky": prednasky, "orgove": orgove}, |
|
|
content_type="text/plain" |
|
|
content_type="text/plain; charset=utf-8" |
|
|
) |
|
|
) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|