Browse Source

prednasky/views: fix export

remotes/origin/test
Matěj Kocián 7 years ago
parent
commit
f34dbb1736
  1. 33
      prednasky/views.py

33
prednasky/views.py

@ -1,8 +1,10 @@
from django.shortcuts import render,get_object_or_404 # -*- coding: utf-8 -*-
from django.shortcuts import render, get_object_or_404
from django.views import generic from django.views import generic
from prednasky.forms import NewPrednaskyForm from prednasky.forms import NewPrednaskyForm
from prednasky.models import Seznam, Hlasovani, Prednaska from prednasky.models import Seznam, Hlasovani, Prednaska
from django.shortcuts import HttpResponseRedirect from django.shortcuts import HttpResponseRedirect
from django.core.exceptions import ObjectDoesNotExist
from models import Prednaska, Seznam, STAV_NAVRH from models import Prednaska, Seznam, STAV_NAVRH
@ -54,23 +56,32 @@ class SeznamListView(generic.ListView):
return Prednaska.objects.filter(seznamy = self.seznam) return Prednaska.objects.filter(seznamy = self.seznam)
def SeznamExportView(request,seznam): def SeznamExportView(request, seznam):
seznam_obj = Seznam.objects.get(id=seznam) u"""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) hlasovani = Hlasovani.objects.filter(seznam=seznam)
prednasky = Prednaska.objects.filter(seznamy=seznam) prednasky = Prednaska.objects.filter(seznamy=seznam)
orgove = set(map(lambda x:x.org,prednasky)) orgove = set(p.org for p in prednasky)
ucastnici = list(set(map(lambda x:x.ucastnik,hlasovani))) ucastnici = set(h.ucastnik for h in hlasovani)
for p in prednasky: for p in prednasky:
p.body = [] p.body = []
for u in ucastnici: for u in ucastnici:
p.body.append(hlasovani.get(ucastnik=u,prednaska=p).body) try:
p.body.append(hlasovani.get(ucastnik=u, prednaska=p).body)
except ObjectDoesNotExist:
# účastník nehlasoval
p.body.append("?")
for h in hlasovani: for h in hlasovani:
h.ucastnik = hash(h.ucastnik) h.ucastnik = hash(h.ucastnik)
return render(request, 'prednasky/seznam_prednasek_export.txt', return render(
{"hlasovani":hlasovani,"prednasky":prednasky,"orgove":orgove}, request,
content_type="text/plain") 'prednasky/seznam_prednasek_export.txt',
{"hlasovani": hlasovani, "prednasky": prednasky, "orgove": orgove},
content_type="text/plain"
)

Loading…
Cancel
Save