use forms

This commit is contained in:
Ludovic Stephan 2016-07-25 23:03:33 +02:00
parent 90581af528
commit d12a21d44c
4 changed files with 21 additions and 44 deletions

View file

@ -6,7 +6,8 @@ from __future__ import unicode_literals
from django import forms
from django.forms.models import BaseInlineFormSet
from bda.models import Spectacle
from django.utils import timezone
from bda.models import Attribution
class BaseBdaFormSet(BaseInlineFormSet):
@ -42,10 +43,12 @@ class SpectacleModelChoiceField(forms.ModelChoiceField):
class ResellForm(forms.Form):
count = forms.ChoiceField(choices=(("1", "1"), ("2", "2"),))
spectacle = SpectacleModelChoiceField(queryset=Spectacle.objects.none())
attributions = forms.ModelMultipleChoiceField(
queryset=Attribution.objects.none(),
widget=forms.CheckboxSelectMultiple)
def __init__(self, participant, *args, **kwargs):
super(ResellForm, self).__init__(*args, **kwargs)
self.fields['spectacle'].queryset = participant.attributions.all() \
.distinct()
self.fields['attributions'].queryset = participant.attribution_set\
.filter(spectacle__date__gte=timezone.now(),
revente__isnull=True)