Webove rozhrani k prednaskam, prototyp.
This commit is contained in:
		
							parent
							
								
									7b44da7738
								
							
						
					
					
						commit
						de536fe081
					
				
					 7 changed files with 121 additions and 9 deletions
				
			
		|  | @ -19,6 +19,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')), | ||||||
|     url(r'^comments_fl/', include('fluent_comments.urls')), |     url(r'^comments_fl/', include('fluent_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 | ||||||
|  | @ -41,5 +42,35 @@ def newPrednaska(request): | ||||||
| def Prednaska_hotovo(request): | def Prednaska_hotovo(request): | ||||||
|     return render(request, 'prednasky/hotovo.html') |     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") | ||||||
|  | 
 | ||||||
| 
 | 
 | ||||||
| # Create your views here. |  | ||||||
|  |  | ||||||
|  | @ -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