Webove rozhrani k prednaskam, prototyp.
This commit is contained in:
parent
7b44da7738
commit
de536fe081
7 changed files with 121 additions and 9 deletions
|
@ -18,6 +18,9 @@ urlpatterns = [
|
||||||
|
|
||||||
# Korekturovaci aplikace (ma vlastni podadresare)
|
# Korekturovaci aplikace (ma vlastni podadresare)
|
||||||
url(r'^', include('korektury.urls')),
|
url(r'^', include('korektury.urls')),
|
||||||
|
|
||||||
|
# Prednaskova aplikace (ma vlastni podadresare)
|
||||||
|
url(r'^', include('prednasky.urls')),
|
||||||
|
|
||||||
# Comments (interni i verejne)
|
# Comments (interni i verejne)
|
||||||
url(r'^comments_dj/', include('django_comments.urls')),
|
url(r'^comments_dj/', include('django_comments.urls')),
|
||||||
|
|
26
prednasky/templates/prednasky/metaseznam_prednasek.html
Normal file
26
prednasky/templates/prednasky/metaseznam_prednasek.html
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
{% extends "prednasky/Base.html" %}
|
||||||
|
|
||||||
|
|
||||||
|
{% block header %}hlasovani{% endblock %}
|
||||||
|
|
||||||
|
{% block nadpis1a %}{% block nadpis1b %}
|
||||||
|
Hlasování o přednáškách
|
||||||
|
{% endblock %}{% endblock %}
|
||||||
|
|
||||||
|
{% block content %}
|
||||||
|
{# Projdi vsechny seznamy #}
|
||||||
|
<div class="mam-org-only">
|
||||||
|
<ul>
|
||||||
|
{% for seznam in object_list %}
|
||||||
|
<li>
|
||||||
|
{% if seznam.stav == 1 %} {# STAV_NAHRH = 1 #}
|
||||||
|
<a href="/prednasky/seznam_prednasek/{{seznam.id}}">Návrh přednášek na soustředění {{seznam.soustredeni.misto}} </a>
|
||||||
|
{% else %}
|
||||||
|
<a href="/prednasky/seznam_prednasek/{{seznam.id}}">Seznam přednášek na soustředění {{seznam.soustredeni.misto}} </a>
|
||||||
|
{% endif %}
|
||||||
|
<a href="/prednasky/seznam_prednasek/{{seznam.id}}/export">Export</a>
|
||||||
|
</li>
|
||||||
|
{% endfor %}
|
||||||
|
|
||||||
|
{% endblock %}
|
||||||
|
|
21
prednasky/templates/prednasky/seznam_prednasek.html
Normal file
21
prednasky/templates/prednasky/seznam_prednasek.html
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
{% extends "prednasky/Base.html" %}
|
||||||
|
|
||||||
|
|
||||||
|
{% block header %}seznam_prednasek{% endblock %}
|
||||||
|
|
||||||
|
{% block nadpis1a %}{% block nadpis1b %}
|
||||||
|
Seznam přednášek
|
||||||
|
{% endblock %}{% endblock %}
|
||||||
|
|
||||||
|
{% block content %}
|
||||||
|
<div class="mam-org-only">
|
||||||
|
<ul>
|
||||||
|
{# Projdi vsechny prednasky #}
|
||||||
|
{% for prednaska in object_list %}
|
||||||
|
<li>
|
||||||
|
<strong>{{prednaska.nazev}}</strong> (<i>{{prednaska.obor}},{{prednaska.obtiznost}}</i>) - {{prednaska.org}}
|
||||||
|
</li>
|
||||||
|
{% endfor %}
|
||||||
|
|
||||||
|
{% endblock %}
|
||||||
|
|
21
prednasky/templates/prednasky/seznam_prednasek_export.txt
Normal file
21
prednasky/templates/prednasky/seznam_prednasek_export.txt
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
{% block content %}
|
||||||
|
{% spaceless %}
|
||||||
|
{% for hlas in hlasovani %}
|
||||||
|
hlas({{hlas.ucastnik}},{{hlas.prednaska.id}},{{hlas.body}})
|
||||||
|
{% endfor %}
|
||||||
|
{% for prednaska in prednasky %}
|
||||||
|
prednaska({{prednaska.id}},{{prednaska.org.id}},{{prednaska.obtiznost}},{{prednaska.obor}})
|
||||||
|
{% endfor %}
|
||||||
|
{% for org in orgove %}
|
||||||
|
org({{org.id}},4,0,15)
|
||||||
|
{% endfor %}
|
||||||
|
{% for org in orgove %}
|
||||||
|
{{org.id}};{{org}}
|
||||||
|
{% endfor %}
|
||||||
|
{% for prednaska in prednasky %}
|
||||||
|
{{prednaska.id}};{{prednaska.nazev}};{{prednaska.org.id}}
|
||||||
|
{{prednaska.body}}
|
||||||
|
{% endfor %}
|
||||||
|
{% endspaceless %}
|
||||||
|
{% endblock %}
|
||||||
|
|
15
prednasky/urls.py
Normal file
15
prednasky/urls.py
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
from django.conf.urls import * # NOQA
|
||||||
|
from django.conf.urls import patterns, url
|
||||||
|
from django.contrib.auth.decorators import user_passes_test
|
||||||
|
from . import views
|
||||||
|
|
||||||
|
staff_member_required = user_passes_test(lambda u: u.is_staff)
|
||||||
|
|
||||||
|
urlpatterns = [
|
||||||
|
url(r'^prednasky/$', views.newPrednaska),
|
||||||
|
url(r'^prednasky/hotovo$', views.Prednaska_hotovo),
|
||||||
|
url(r'^prednasky/metaseznam_prednasek$', staff_member_required(views.MetaSeznamListView.as_view()), name='metaseznam-list'),
|
||||||
|
url(r'^prednasky/seznam_prednasek/(?P<seznam>\d+)/$', staff_member_required(views.SeznamListView.as_view()), name='seznam-list'),
|
||||||
|
url(r'^prednasky/seznam_prednasek/(?P<seznam>\d+)/export$', staff_member_required(views.SeznamExportView), name='seznam-export'),
|
||||||
|
# url(r'^korektury/help/', staff_member_required(views.KorekturyHelpView.as_view()), name='korektury-help'),
|
||||||
|
]
|
|
@ -1,4 +1,5 @@
|
||||||
from django.shortcuts import render
|
from django.shortcuts import render,get_object_or_404
|
||||||
|
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
|
||||||
|
@ -24,7 +25,7 @@ def newPrednaska(request):
|
||||||
hlasovani.prednaska = Prednaska.objects.filter(pk = int(i[1:]))[0]
|
hlasovani.prednaska = Prednaska.objects.filter(pk = int(i[1:]))[0]
|
||||||
hlasovani.body = int(request.POST[i])
|
hlasovani.body = int(request.POST[i])
|
||||||
hlasovani.ucastnik = jmeno
|
hlasovani.ucastnik = jmeno
|
||||||
hlasovani.seznam = seznam
|
hlasovani.seznam = seznam
|
||||||
hlasovani.save()
|
hlasovani.save()
|
||||||
|
|
||||||
# presmerovani na prave vzniklou galerii
|
# presmerovani na prave vzniklou galerii
|
||||||
|
@ -40,6 +41,36 @@ def newPrednaska(request):
|
||||||
|
|
||||||
def Prednaska_hotovo(request):
|
def Prednaska_hotovo(request):
|
||||||
return render(request, 'prednasky/hotovo.html')
|
return render(request, 'prednasky/hotovo.html')
|
||||||
|
|
||||||
|
|
||||||
# Create your views here.
|
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")
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -3,16 +3,11 @@ from django.conf.urls import patterns, url
|
||||||
from django.contrib.auth.decorators import user_passes_test
|
from django.contrib.auth.decorators import user_passes_test
|
||||||
from . import views, export
|
from . import views, export
|
||||||
from utils import staff_member_required
|
from utils import staff_member_required
|
||||||
from prednasky.views import newPrednaska, Prednaska_hotovo
|
|
||||||
from django.views.generic.base import RedirectView
|
from django.views.generic.base import RedirectView
|
||||||
|
|
||||||
staff_member_required = user_passes_test(lambda u: u.is_staff)
|
staff_member_required = user_passes_test(lambda u: u.is_staff)
|
||||||
|
|
||||||
urlpatterns = [
|
urlpatterns = [
|
||||||
# prednasky
|
|
||||||
url(r'^prednasky/$', newPrednaska),
|
|
||||||
url(r'^prednasky/hotovo$', Prednaska_hotovo),
|
|
||||||
|
|
||||||
# REDIRECTy
|
# REDIRECTy
|
||||||
url(r'^jak-resit/$', RedirectView.as_view(url='/co-je-MaM/jak-resit/')),
|
url(r'^jak-resit/$', RedirectView.as_view(url='/co-je-MaM/jak-resit/')),
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue