Merge branch 'matej-fix-export-prednasek'
This commit is contained in:
		
						commit
						db18abb382
					
				
					 1 changed files with 22 additions and 11 deletions
				
			
		|  | @ -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…
	
		Reference in a new issue
	
	 Matěj Kocián
						Matěj Kocián