Fix: 0.5 · #1237
This commit is contained in:
		
							parent
							
								
									0d17b45011
								
							
						
					
					
						commit
						062653e708
					
				
					 5 changed files with 32 additions and 1 deletions
				
			
		|  | @ -22,6 +22,7 @@ urlpatterns = [ | |||
| 	# Autocomplete | ||||
| 	path('api/autocomplete/skola/', views.SkolaAutocomplete.as_view(), name='autocomplete_skola'), | ||||
| 	path('api/autocomplete/resitel/', org_required(views.ResitelAutocomplete.as_view()), name='autocomplete_resitel'), | ||||
| 	path('api/autocomplete/resitel_public/', views.PublicResitelAutocomplete.as_view(), name='autocomplete_resitel_public'), | ||||
| 	path('api/autocomplete/problem/odevzdatelny', views.OdevzdatelnyProblemAutocomplete.as_view(), name='autocomplete_problem_odevzdatelny'), | ||||
| 
 | ||||
| 	# Ceka na autocomplete v3 | ||||
|  |  | |||
|  | @ -44,6 +44,26 @@ class ResitelAutocomplete(LoginRequiredAjaxMixin,autocomplete.Select2QuerySetVie | |||
| 			qs = qs.filter(query) | ||||
| 		return qs | ||||
| 
 | ||||
| 
 | ||||
| class PublicResitelAutocomplete(LoginRequiredAjaxMixin, autocomplete.Select2QuerySetView): | ||||
| 	""" | ||||
| 		View k :mod:`dal.autocomplete` pro vyhledávání řešitelů podle přezdívky | ||||
| 		především v odevzdávátku. | ||||
| 	""" | ||||
| 	def get_queryset(self): | ||||
| 		qs = m.Resitel.objects.filter( | ||||
| 			prezdivka_resitele__isnull=False | ||||
| 		).exclude( | ||||
| 			prezdivka_resitele="" | ||||
| 		).filter( | ||||
| 			prezdivka_resitele__startswith=self.q | ||||
| 		).all() | ||||
| 		return qs | ||||
| 
 | ||||
| 	def get_result_label(self, result): | ||||
| 		return result.prezdivka_resitele | ||||
| 
 | ||||
| 
 | ||||
| class OdevzdatelnyProblemAutocomplete(autocomplete.Select2QuerySetView): | ||||
| 	""" View k :mod:`dal.autocomplete` pro vyhledávání problémů především v odevzdávátku. """ | ||||
| 	def get_queryset(self): | ||||
|  |  | |||
|  | @ -63,7 +63,7 @@ class PosliReseniForm(forms.Form): | |||
| class NahrajReseniForm(forms.ModelForm): | ||||
| 	class Meta: | ||||
| 		model = m.Reseni | ||||
| 		fields = ('problem',) | ||||
| 		fields = ('problem', 'resitele') | ||||
| 		help_texts = {'problem':''} # Nezobrazovat help text ve formuláři | ||||
| 		 | ||||
| 		widgets = {'problem': | ||||
|  | @ -72,6 +72,13 @@ class NahrajReseniForm(forms.ModelForm): | |||
| 					attrs = {'data-placeholder--id': '-1', | ||||
| 						'data-placeholder--text' : '---', | ||||
| 						'data-allow-clear': 'true'}, | ||||
| 				), | ||||
| 				'resitele': | ||||
| 				autocomplete.ModelSelect2Multiple( | ||||
| 					url='autocomplete_resitel_public', | ||||
| 					attrs = {'data-placeholder--id': '-1', | ||||
| 						'data-placeholder--text' : '---', | ||||
| 						'data-allow-clear': 'true'}, | ||||
| 				) | ||||
| 		} | ||||
| 
 | ||||
|  |  | |||
|  | @ -13,6 +13,8 @@ | |||
| 
 | ||||
| <p style="text-align: justify">Když řešení různých témátek vložíš každé zvlášť, lépe se v nich vyznáme a třeba ti je i rychleji opravíme.</p> | ||||
| 
 | ||||
|   <p>Pokud řešíte ve více lidech, je <b>nutné</b> přidat tyto lidi jako „Autory řešení“! V tomto poli se vyhledává podle přezdívek, které si lze nastavit v „Osobní údaje“. Sebe vyplňovat nemusíte a za skupinu odevzdávejte pouze <b>jednou</b> (ne každý sám)!</p> | ||||
| 
 | ||||
| <form enctype="multipart/form-data" action="{% url 'seminar_nahraj_reseni' %}" method="post" onsubmit="return zkontroluj_prilohy();"> | ||||
|   {% csrf_token %} | ||||
|   <table class='form' id="reseni"> | ||||
|  |  | |||
|  | @ -407,6 +407,7 @@ class NahrajReseniView(LoginRequiredMixin, CreateView): | |||
| 		with transaction.atomic(): | ||||
| 			self.object = form.save() | ||||
| 			self.object.resitele.add(m.Resitel.objects.get(osoba__user = self.request.user)) | ||||
| 			self.object.resitele.add(*form.cleaned_data["resitele"]) | ||||
| 			self.object.cas_doruceni = timezone.now() | ||||
| 			self.object.forma = m.Reseni.FORMA_UPLOAD | ||||
| 			self.object.save() | ||||
|  |  | |||
		Loading…
	
		Reference in a new issue