forked from DGNum/gestioCOF
buy more than one place
This commit is contained in:
parent
0282f62886
commit
2a56f8e255
2 changed files with 24 additions and 13 deletions
|
@ -44,6 +44,14 @@ class AttributionModelMultipleChoiceField(forms.ModelMultipleChoiceField):
|
|||
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):
|
||||
attributions = AttributionModelMultipleChoiceField(
|
||||
queryset=Attribution.objects.none(),
|
||||
|
|
29
bda/views.py
29
bda/views.py
|
@ -28,7 +28,7 @@ from bda.models import Spectacle, Participant, ChoixSpectacle, Attribution,\
|
|||
from bda.algorithm import Algorithm
|
||||
|
||||
from bda.forms import BaseBdaFormSet, TokenForm, ResellForm, AnnulForm,\
|
||||
InscriptionReventeForm
|
||||
InscriptionReventeForm, BuyResellForm
|
||||
|
||||
|
||||
@cof_required
|
||||
|
@ -435,11 +435,14 @@ def buy_revente(request, spectacle_id):
|
|||
return render(request, "bda-no-revente.html", {})
|
||||
|
||||
if request.POST:
|
||||
idx = random.randint(0, reventes.count() - 1)
|
||||
revente = reventes.all()[idx]
|
||||
revente.soldTo = participant
|
||||
revente.save()
|
||||
mail = """Bonjour !
|
||||
form = BuyResellForm(spectacle, request.POST)
|
||||
if form.is_valid():
|
||||
num = form.cleaned_data['num']
|
||||
reventes = random.sample(reventes.all(), num)
|
||||
for revente in reventes:
|
||||
revente.soldTo = participant
|
||||
revente.save()
|
||||
mail = """Bonjour !
|
||||
|
||||
Je souhaiterais racheter ta place pour %s le %s (%s) à %.02f€.
|
||||
Contacte-moi si tu es toujours intéressé·e !
|
||||
|
@ -447,13 +450,13 @@ Contacte-moi si tu es toujours intéressé·e !
|
|||
%s (%s)""" % (spectacle.title, spectacle.date_no_seconds(),
|
||||
spectacle.location, spectacle.price,
|
||||
request.user.get_full_name(), request.user.email)
|
||||
send_mail("BdA-Revente : %s" % spectacle.title, mail,
|
||||
request.user.email,
|
||||
[revente.seller.user.email],
|
||||
fail_silently=False)
|
||||
return render(request, "bda-success.html",
|
||||
{"seller": revente.seller.user,
|
||||
"spectacle": spectacle})
|
||||
send_mail("BdA-Revente : %s" % spectacle.title, mail,
|
||||
request.user.email,
|
||||
[revente.seller.user.email],
|
||||
fail_silently=False)
|
||||
return render(request, "bda-success.html",
|
||||
{"seller": revente.seller.user,
|
||||
"spectacle": spectacle})
|
||||
|
||||
return render(request, "revente-confirm.html",
|
||||
{"spectacle": spectacle,
|
||||
|
|
Loading…
Reference in a new issue