buy more than one place

This commit is contained in:
Ludovic Stephan 2016-09-11 13:32:38 +02:00
parent 0282f62886
commit 2a56f8e255
2 changed files with 24 additions and 13 deletions

View file

@ -44,6 +44,14 @@ class AttributionModelMultipleChoiceField(forms.ModelMultipleChoiceField):
return "%s" % obj.spectacle return "%s" % obj.spectacle
class BuyResellForm(forms.Form):
num = forms.ChoiceField(choices=[])
def __init__(self, spectacle, *args, **kwargs):
super(BuyResellForm, self).__init__(*args, **kwargs)
self.fields['num'].choices = range(1, spectacle.revente.count())
class ResellForm(forms.Form): class ResellForm(forms.Form):
attributions = AttributionModelMultipleChoiceField( attributions = AttributionModelMultipleChoiceField(
queryset=Attribution.objects.none(), queryset=Attribution.objects.none(),

View file

@ -28,7 +28,7 @@ from bda.models import Spectacle, Participant, ChoixSpectacle, Attribution,\
from bda.algorithm import Algorithm from bda.algorithm import Algorithm
from bda.forms import BaseBdaFormSet, TokenForm, ResellForm, AnnulForm,\ from bda.forms import BaseBdaFormSet, TokenForm, ResellForm, AnnulForm,\
InscriptionReventeForm InscriptionReventeForm, BuyResellForm
@cof_required @cof_required
@ -435,8 +435,11 @@ def buy_revente(request, spectacle_id):
return render(request, "bda-no-revente.html", {}) return render(request, "bda-no-revente.html", {})
if request.POST: if request.POST:
idx = random.randint(0, reventes.count() - 1) form = BuyResellForm(spectacle, request.POST)
revente = reventes.all()[idx] if form.is_valid():
num = form.cleaned_data['num']
reventes = random.sample(reventes.all(), num)
for revente in reventes:
revente.soldTo = participant revente.soldTo = participant
revente.save() revente.save()
mail = """Bonjour ! mail = """Bonjour !