Am liebsten wäre es mir, wenn nach der Auswahl, diese Auswahl angezeigt würde, diese Anzeige springt aber immer auf "nächstes Halbjahr".
Da ich das nicht hinbekommen habe, lasse ich den Filter untendrunter anzeigen. Da steht jetzt aber z.B. "all", wie lasse ich anstelle dessen den human_readible Wert "Alle Aufgaben" anzeigen?
forms:
Code: Alles auswählen
class ProtokollFilter_neu(forms.Form):
filter = forms.ChoiceField(label='Filter', choices=[("next",'nächstes Halbjahr'), ("Halbjahr",'aktuelles Halbjahr'), ('heute','heute'), ('Woche','Woche'), ("Schuljahr",'aktuelles Schuljahr'),("all",'Alle Aufgaben'),])
Code: Alles auswählen
<th>{{filter}}</th>
Code: Alles auswählen
def protokoll(req):
if req.user.is_authenticated:
user = get_user(req.user)
protokoll = Protokoll.objects.filter(user=user).order_by('id').reverse()
filter = "Alle Aufgaben"
sj, hj = name_hj()
...
form = ProtokollFilter_neu
if req.method == 'POST':
protokoll = Protokoll.objects.filter(user=user).order_by('id').reverse()
auswahl = form(req.POST)
if auswahl.is_valid():
filter = auswahl.cleaned_data['filter']
if filter == "next":
protokoll = protokoll.filter(sj=next_sj, hj=next_hj)
if filter == "Halbjahr":
protokoll = protokoll.filter(sj=sj, hj=hj)
...
return render(req, 'core/protokoll.html', {'protokoll': protokoll, 'form': form, 'filter': filter, ...})