You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

77 lines
2.6 KiB

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()
9 years ago
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")