Adapte la vue du tirage.

Désormais, les tirages peuvent être lancés sans modifier le code et
avec moult avertissements.
This commit is contained in:
Martin Pépin 2016-07-08 00:39:31 +02:00
parent 9e50a825e0
commit 45864fdcb0
6 changed files with 37 additions and 15 deletions

View file

@ -181,11 +181,11 @@ def inscription(request, tirage_id):
def do_tirage(request, tirage_id):
tirage_elt = get_object_or_404(Tirage, id=tirage_id)
if not tirage_elt.enable_do_tirage:
return render(request, "tirage-failed.html", {'tirage': tirage_elt})
form = TokenForm(request.POST)
if not form.is_valid():
return tirage(request)
tirage_elt.token = form.cleaned_data['token']
tirage_elt.save()
start = time.time()
data = {}
shows = tirage_elt.spectacle_set.select_related().all()
@ -235,16 +235,15 @@ def do_tirage(request, tirage_id):
members2 = members2.items()
data["members2"] = sorted(members2, key=lambda m: m[0].user.last_name)
# À partir d'ici, le tirage devient effectif
# FIXME: Établir les conditions de validations (formulaire ?)
# cf. issue #32
if False:
Attribution.objects.filter(
spectacle__tirage=tirage_elt
).delete()
for (show, members, _) in results:
for (member, _, _, _) in members:
attrib = Attribution(spectacle=show, participant=member)
attrib.save()
Attribution.objects.filter(spectacle__tirage=tirage_elt).delete()
tirage_elt.tokens += "%s\n\"\"\"%s\"\"\"\n" % (
timezone.now().strftime("%y-%m-%d %H:%M:%S"),
form.cleaned_data['token'])
tirage_elt.save()
for (show, members, _) in results:
for (member, _, _, _) in members:
attrib = Attribution(spectacle=show, participant=member)
attrib.save()
return render(request, "bda-attrib-extra.html", data)
else:
return render(request, "bda-attrib.html", data)