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', | ||||
| 		staff_member_required(views.StavDatabazeView), name='stav_databaze'), | ||||
| 	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', | ||||
| 		staff_member_required(views.texDownloadView), name='seminar_tex_download'), | ||||
| 	path('soustredeni/<int:soustredeni>/obalky.pdf', | ||||
|  | @ -101,6 +101,8 @@ urlpatterns = [ | |||
| 		staff_member_required(views.texUploadView), | ||||
| 		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/login/', views.LoginView.as_view(), name='login'), | ||||
| 	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.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) | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
		Reference in a new issue