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