Merge branch 'odevzdavatko_old_but_fixed' into test
This commit is contained in:
		
						commit
						e90e1541b3
					
				
					 2 changed files with 34 additions and 11 deletions
				
			
		|  | @ -347,7 +347,8 @@ class OdevzdavatkoTabulkaFiltrForm(forms.Form): | |||
| 	# TODO: Typy problémů (problémy, úlohy, ostatní, všechny)? Jen některá řešení (obodovaná/neobodovaná, víc řešitelů, ...)? | ||||
| 
 | ||||
| 
 | ||||
| 	def gen_terminy(): | ||||
| 	@classmethod | ||||
| 	def gen_terminy(cls): | ||||
| 		import datetime | ||||
| 		from time import strftime | ||||
| 		 | ||||
|  | @ -390,11 +391,32 @@ class OdevzdavatkoTabulkaFiltrForm(forms.Form): | |||
| 
 | ||||
| 		return result | ||||
| 
 | ||||
| 	@classmethod | ||||
| 	def gen_initial(cls): | ||||
| 		terminy = cls.gen_terminy() | ||||
| 		initial = { | ||||
| 			'resitele': cls.RESITELE_RELEVANTNI, | ||||
| 			'problemy': cls.PROBLEMY_MOJE, | ||||
| 			'reseni_od': terminy[-2][0], | ||||
| 			'reseni_do': terminy[-1][0], | ||||
| 		} | ||||
| 		return initial | ||||
| 
 | ||||
| 	def __init__(self, *args, **kwargs): | ||||
| 		if 'initial' not in kwargs: | ||||
| 			super().__init__(initial=self.gen_initial(), *args, **kwargs) | ||||
| 		else: | ||||
| 			super().__init__(*args, **kwargs) | ||||
| 
 | ||||
| 		# choices jako parametr Select widgetu neumí brát callable, jen iterable, takže si pro jednoduchost můžu rovnou uložit výsledek sem... | ||||
| 		# A "sem" znamená do libovolné metody, protože jinak se jedná o kód, který django spustí při inicializaci a protože potřebujeme databázi, tak by spadnul při vyrábění testdat... | ||||
| 		self.terminy = self.gen_terminy() | ||||
| 
 | ||||
| 	# NOTE: Initial definuji pro jednotlivé fieldy, aby to bylo tady a nebylo potřeba to řešit ve views... | ||||
| 	resitele = forms.ChoiceField(choices=RESITELE_CHOICES, initial=RESITELE_RELEVANTNI) | ||||
| 	problemy = forms.ChoiceField(choices=PROBLEMY_CHOICES, initial=PROBLEMY_MOJE) | ||||
| 	resitele = forms.ChoiceField(choices=RESITELE_CHOICES) | ||||
| 	problemy = forms.ChoiceField(choices=PROBLEMY_CHOICES) | ||||
| 	 | ||||
| 	# choices jako parametr Select widgetu neumí brát callable, jen iterable, takže si pro jednoduchost můžu rovnou uložit výsledek sem... | ||||
| 	terminy = gen_terminy() | ||||
| 	reseni_od = forms.DateField(input_formats=[DATE_FORMAT], widget=forms.Select(choices=terminy), initial=terminy[-2]) | ||||
| 	reseni_do = forms.DateField(input_formats=[DATE_FORMAT], widget=forms.Select(choices=terminy), initial=terminy[-1]) | ||||
| #	reseni_od = forms.DateField(input_formats=[DATE_FORMAT], widget=forms.Select(choices=self.terminy)) | ||||
| #	reseni_do = forms.DateField(input_formats=[DATE_FORMAT], widget=forms.Select(choices=self.terminy)) | ||||
| 	reseni_od = forms.DateField(input_formats=[DATE_FORMAT]) | ||||
| 	reseni_do = forms.DateField(input_formats=[DATE_FORMAT]) | ||||
|  |  | |||
|  | @ -57,10 +57,11 @@ class TabulkaOdevzdanychReseniView(ListView): | |||
| 			reseni_od = fcd["reseni_od"] | ||||
| 			reseni_do = fcd["reseni_do"] | ||||
| 		else: | ||||
| 			resitele = FiltrForm.get_initial_for_field(FiltrForm.resitele, "resitele") | ||||
| 			problemy = FiltrForm.get_initial_for_field(FiltrForm.problemy, "problemy") | ||||
| 			resitele_od = FiltrForm.get_initial_for_field(FiltrForm.resitele_od, "resitele_od") | ||||
| 			resitele_do = FiltrForm.get_initial_for_field(FiltrForm.resitele_do, "resitele_do") | ||||
| 			initial = FiltrForm.gen_initial() | ||||
| 			resitele = initial['resitele'] | ||||
| 			problemy = initial['problemy'] | ||||
| 			reseni_od = initial['reseni_od'] | ||||
| 			reseni_do = initial['reseni_do'] | ||||
| 			 | ||||
| 
 | ||||
| 		# Filtrujeme! | ||||
|  |  | |||
		Loading…
	
		Reference in a new issue
	
	 Pavel "LEdoian" Turinsky
						Pavel "LEdoian" Turinsky