diff --git a/seminar/templates/seminar/org/obalkovani.html b/seminar/templates/seminar/org/obalkovani.html new file mode 100644 index 00000000..fa130bc7 --- /dev/null +++ b/seminar/templates/seminar/org/obalkovani.html @@ -0,0 +1,30 @@ +{% extends "base.html" %} + +{% block content %} +

+ {% block nadpis1a %}{% block nadpis1b %} + Obálkování {{ cislo }} + {% endblock %}{% endblock %} +

+ + {% endif %} +

{% for resitel in reseni.resitele.all %}{{resitel.osoba}},{% endfor %}

+ + + +{% endblock content %} diff --git a/seminar/urls.py b/seminar/urls.py index 7ae2558c..57e447f3 100644 --- a/seminar/urls.py +++ b/seminar/urls.py @@ -89,7 +89,7 @@ urlpatterns = [ path('stav', staff_member_required(views.StavDatabazeView), name='stav_databaze'), path('cislo/./obalkovani', - staff_member_required(views.obalkovaniView), name='seminar_cislo_resitel_obalkovani'), + staff_member_required(views.ObalkovaniView.as_view()), name='seminar_cislo_resitel_obalkovani'), path('cislo/./tex-download.json', staff_member_required(views.texDownloadView), name='seminar_tex_download'), path('soustredeni//obalky.pdf', @@ -101,6 +101,8 @@ urlpatterns = [ staff_member_required(views.texUploadView), name='seminar_tex_upload' ), + path('org/vloz_body//', + staff_member_required(views.VlozBodyView.as_view()),name='seminar_org_vlozbody'), path('auth/prihlaska/',views.prihlaskaView, name='seminar_prihlaska'), path('auth/login/', views.LoginView.as_view(), name='login'), path('auth/logout/', views.LogoutView.as_view(), name='logout'), diff --git a/seminar/views.py b/seminar/views.py index 6f31a889..b4c710a5 100644 --- a/seminar/views.py +++ b/seminar/views.py @@ -7,7 +7,7 @@ from django.core.exceptions import PermissionDenied, ObjectDoesNotExist from django.views import generic from django.utils.translation import ugettext as _ from django.http import Http404,HttpResponseBadRequest,HttpResponseRedirect -from django.db.models import Q +from django.db.models import Q, Sum, Count from django.views.decorators.csrf import ensure_csrf_cookie from django.contrib.auth import authenticate, login, get_user_model, logout from django.contrib.auth import views as auth_views @@ -45,6 +45,45 @@ def verejna_temata(rocnik): """ return Problem.objects.filter(typ=Problem.TYP_TEMA, cislo_zadani__rocnik=rocnik, cislo_zadani__verejne_db=True).order_by('kod') +def temata_v_rocniku(rocnik): + return Problem.objects.filter(typ=Problem.TYP_TEMA, rocnik=rocnik) + +def get_problemy_k_tematu(tema): + return Problemy.objects.filter(nadproblem = tema) + + +class VlozBodyView(generic.ListView): + template_name = 'seminar/org/vloz_body.html' + + def get_queryset(self): + self.tema = get_object_or_404(Problem,id=self.kwargs['tema']) + print(self.tema) + self.problemy = Problem.objects.filter(nadproblem = self.tema) + print(self.problemy) + self.reseni = Reseni.objects.filter(problem__in=self.problemy) + print(self.reseni) + return self.reseni + + +class ObalkovaniView(generic.ListView): + template_name = 'seminar/org/obalkovani.html' + + def get_queryset(self): + rocnik = get_object_or_404(Rocnik,rocnik=self.kwargs['rocnik']) + cislo = get_object_or_404(Cislo,rocnik=rocnik,poradi=self.kwargs['cislo']) + self.cislo = cislo + self.hodnoceni = s.Hodnoceni.objects.filter(cislo_body=cislo) + self.reseni = Reseni.objects.filter(hodnoceni__in = self.hodnoceni).annotate(Sum('hodnoceni__body')).annotate(Count('hodnoceni')).order_by('resitele__osoba') + return self.reseni + + def get_context_data(self, **kwargs): + context = super(ObalkovaniView, self).get_context_data(**kwargs) + print(self.cislo) + context['cislo'] = self.cislo + return context + + + def AktualniZadaniView(request): nastaveni = get_object_or_404(Nastaveni) @@ -740,7 +779,7 @@ def obalkyView(request,resitele): return response -def obalkovaniView(request, rocnik, cislo): +def oldObalkovaniView(request, rocnik, cislo): rocnik = Rocnik.objects.get(rocnik=rocnik) cislo = Cislo.objects.get(rocnik=rocnik, cislo=cislo)