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
|
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(),
|
||||||
|
|
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.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,11 +435,14 @@ 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():
|
||||||
revente.soldTo = participant
|
num = form.cleaned_data['num']
|
||||||
revente.save()
|
reventes = random.sample(reventes.all(), num)
|
||||||
mail = """Bonjour !
|
for revente in reventes:
|
||||||
|
revente.soldTo = participant
|
||||||
|
revente.save()
|
||||||
|
mail = """Bonjour !
|
||||||
|
|
||||||
Je souhaiterais racheter ta place pour %s le %s (%s) à %.02f€.
|
Je souhaiterais racheter ta place pour %s le %s (%s) à %.02f€.
|
||||||
Contacte-moi si tu es toujours intéressé·e !
|
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(),
|
%s (%s)""" % (spectacle.title, spectacle.date_no_seconds(),
|
||||||
spectacle.location, spectacle.price,
|
spectacle.location, spectacle.price,
|
||||||
request.user.get_full_name(), request.user.email)
|
request.user.get_full_name(), request.user.email)
|
||||||
send_mail("BdA-Revente : %s" % spectacle.title, mail,
|
send_mail("BdA-Revente : %s" % spectacle.title, mail,
|
||||||
request.user.email,
|
request.user.email,
|
||||||
[revente.seller.user.email],
|
[revente.seller.user.email],
|
||||||
fail_silently=False)
|
fail_silently=False)
|
||||||
return render(request, "bda-success.html",
|
return render(request, "bda-success.html",
|
||||||
{"seller": revente.seller.user,
|
{"seller": revente.seller.user,
|
||||||
"spectacle": spectacle})
|
"spectacle": spectacle})
|
||||||
|
|
||||||
return render(request, "revente-confirm.html",
|
return render(request, "revente-confirm.html",
|
||||||
{"spectacle": spectacle,
|
{"spectacle": spectacle,
|
||||||
|
|
Loading…
Reference in a new issue