|
@ -1,8 +1,10 @@ |
|
|
|
|
|
# -*- coding: utf-8 -*- |
|
|
from django.shortcuts import render, get_object_or_404 |
|
|
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 |
|
@ -55,22 +57,31 @@ class SeznamListView(generic.ListView): |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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: |
|
|
|
|
|
try: |
|
|
p.body.append(hlasovani.get(ucastnik=u, prednaska=p).body) |
|
|
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( |
|
|
|
|
|
request, |
|
|
|
|
|
'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" |
|
|
|
|
|
) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|