from django.shortcuts import render,get_object_or_404 from django.views import generic from prednasky.forms import NewPrednaskyForm from prednasky.models import Seznam, Hlasovani, Prednaska from django.shortcuts import HttpResponseRedirect from models import Prednaska, Seznam, STAV_NAVRH from seminar.models import Soustredeni def newPrednaska(request): # hlasovani se vztahuje k nejnovejsimu soustredeni sous = Soustredeni.objects.first() seznam = Seznam.objects.filter(soustredeni = sous, stav = STAV_NAVRH).first() print seznam # obsluha formulare if request.method == 'POST': form = NewPrednaskyForm(request.POST, request.FILES) if form.is_valid(): jmeno = form.cleaned_data['ucastnik'] for i in request.POST: if i[0] == 'q': hlasovani = Hlasovani() print("q:"+i[1:]) hlasovani.prednaska = Prednaska.objects.filter(pk = int(i[1:]))[0] hlasovani.body = int(request.POST[i]) hlasovani.ucastnik = jmeno hlasovani.seznam = seznam hlasovani.save() # presmerovani na prave vzniklou galerii return HttpResponseRedirect('./hotovo') else: form = NewPrednaskyForm() return render(request, 'prednasky/Base.html', { 'form' : form, 'prednasky' : seznam, }) def Prednaska_hotovo(request): return render(request, 'prednasky/hotovo.html') class MetaSeznamListView(generic.ListView): model = Seznam template_name = 'prednasky/metaseznam_prednasek.html' class SeznamListView(generic.ListView): template_name = 'prednasky/seznam_prednasek.html' def get_queryset(self): print self.kwargs self.seznam = get_object_or_404(Seznam,id=self.kwargs["seznam"]) return Prednaska.objects.filter(seznamy = self.seznam) def SeznamExportView(request,seznam): seznam_obj = Seznam.objects.get(id=seznam) hlasovani = Hlasovani.objects.filter(seznam=seznam) prednasky = Prednaska.objects.filter(seznamy=seznam) orgove = set(map(lambda x:x.org,prednasky)) ucastnici = list(set(map(lambda x:x.ucastnik,hlasovani))) for p in prednasky: p.body = [] for u in ucastnici: p.body.append(hlasovani.get(ucastnik=u,prednaska=p).body) 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")