Views: Aktualizován view a template na obálkování.
This commit is contained in:
		
							parent
							
								
									33fe0452b3
								
							
						
					
					
						commit
						aaee03497d
					
				
					 3 changed files with 74 additions and 3 deletions
				
			
		
							
								
								
									
										30
									
								
								seminar/templates/seminar/org/obalkovani.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										30
									
								
								seminar/templates/seminar/org/obalkovani.html
									
									
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,30 @@ | ||||||
|  | {% extends "base.html" %} | ||||||
|  | 
 | ||||||
|  | {% block content %} | ||||||
|  |   <h1> | ||||||
|  |     {% block nadpis1a %}{% block nadpis1b %} | ||||||
|  |       Obálkování {{ cislo }} | ||||||
|  |     {% endblock %}{% endblock %} | ||||||
|  |   </h1> | ||||||
|  |   <ul> | ||||||
|  |   {% for reseni in object_list %} | ||||||
|  | 	{% ifchanged reseni.resitele %} | ||||||
|  | 		{% if not forloop.first %} | ||||||
|  | 		 </ul> | ||||||
|  | 		{% endif %} | ||||||
|  | 		<h4>{% for resitel in reseni.resitele.all %}{{resitel.osoba}},{% endfor %}</h4> | ||||||
|  | 	<ul> | ||||||
|  | 	{% endifchanged %} | ||||||
|  | 
 | ||||||
|  |   <li>Celkem {{reseni.hodnoceni__body__sum}} bodů z {{reseni.hodnoceni__count}} hodnocení | ||||||
|  | 	<ul> | ||||||
|  | 		{% for h in reseni.hodnoceni_set.all %} | ||||||
|  | 		<li> {{ h.problem }}: {{ h.body }}b </li> | ||||||
|  | 		{% endfor %} | ||||||
|  | 	</ul> | ||||||
|  |   </li> | ||||||
|  |   {% endfor %} | ||||||
|  |   </ul> | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | {% endblock content %} | ||||||
|  | @ -89,7 +89,7 @@ urlpatterns = [ | ||||||
| 	path('stav', | 	path('stav', | ||||||
| 		staff_member_required(views.StavDatabazeView), name='stav_databaze'), | 		staff_member_required(views.StavDatabazeView), name='stav_databaze'), | ||||||
| 	path('cislo/<int:rocnik>.<int:cislo>/obalkovani', | 	path('cislo/<int:rocnik>.<int: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/<int:rocnik>.<int:cislo>/tex-download.json', | 	path('cislo/<int:rocnik>.<int:cislo>/tex-download.json', | ||||||
| 		staff_member_required(views.texDownloadView), name='seminar_tex_download'), | 		staff_member_required(views.texDownloadView), name='seminar_tex_download'), | ||||||
| 	path('soustredeni/<int:soustredeni>/obalky.pdf', | 	path('soustredeni/<int:soustredeni>/obalky.pdf', | ||||||
|  | @ -101,6 +101,8 @@ urlpatterns = [ | ||||||
| 		staff_member_required(views.texUploadView), | 		staff_member_required(views.texUploadView), | ||||||
| 		name='seminar_tex_upload' | 		name='seminar_tex_upload' | ||||||
| 	), | 	), | ||||||
|  | 	path('org/vloz_body/<int:tema>/', | ||||||
|  | 		staff_member_required(views.VlozBodyView.as_view()),name='seminar_org_vlozbody'), | ||||||
| 	path('auth/prihlaska/',views.prihlaskaView, name='seminar_prihlaska'), | 	path('auth/prihlaska/',views.prihlaskaView, name='seminar_prihlaska'), | ||||||
| 	path('auth/login/', views.LoginView.as_view(), name='login'), | 	path('auth/login/', views.LoginView.as_view(), name='login'), | ||||||
| 	path('auth/logout/', views.LogoutView.as_view(), name='logout'), | 	path('auth/logout/', views.LogoutView.as_view(), name='logout'), | ||||||
|  |  | ||||||
|  | @ -7,7 +7,7 @@ from django.core.exceptions import PermissionDenied, ObjectDoesNotExist | ||||||
| from django.views import generic | from django.views import generic | ||||||
| from django.utils.translation import ugettext as _ | from django.utils.translation import ugettext as _ | ||||||
| from django.http import Http404,HttpResponseBadRequest,HttpResponseRedirect | 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.views.decorators.csrf import ensure_csrf_cookie | ||||||
| from django.contrib.auth import authenticate, login, get_user_model, logout | from django.contrib.auth import authenticate, login, get_user_model, logout | ||||||
| from django.contrib.auth import views as auth_views | 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') | 	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): | def AktualniZadaniView(request): | ||||||
| 	nastaveni = get_object_or_404(Nastaveni) | 	nastaveni = get_object_or_404(Nastaveni) | ||||||
|  | @ -740,7 +779,7 @@ def obalkyView(request,resitele): | ||||||
| 	return response | 	return response | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| def obalkovaniView(request, rocnik, cislo): | def oldObalkovaniView(request, rocnik, cislo): | ||||||
| 	rocnik = Rocnik.objects.get(rocnik=rocnik) | 	rocnik = Rocnik.objects.get(rocnik=rocnik) | ||||||
| 	cislo = Cislo.objects.get(rocnik=rocnik, cislo=cislo) | 	cislo = Cislo.objects.get(rocnik=rocnik, cislo=cislo) | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
		Loading…
	
		Reference in a new issue