interface de revente de places

This commit is contained in:
Ludovic Stephan 2016-07-23 22:22:17 +02:00
parent ca39dc813b
commit 2aaf9f681e
2 changed files with 37 additions and 25 deletions

View file

@ -6,6 +6,7 @@ from __future__ import unicode_literals
from django.shortcuts import render, get_object_or_404
from django.contrib.auth.decorators import login_required
from django.contrib import messages
from django.db import models
from django.db.models import Count
from django.core import serializers
@ -21,10 +22,10 @@ import time
from gestioncof.decorators import cof_required, buro_required
from bda.models import Spectacle, Participant, ChoixSpectacle, Attribution,\
Tirage, render_template
Tirage, render_template, SpectacleRevente
from bda.algorithm import Algorithm
from bda.forms import BaseBdaFormSet, TokenForm, ResellForm
from bda.forms import BaseBdaFormSet, TokenForm
@cof_required
@ -302,13 +303,21 @@ def revente(request, tirage_id):
if not participant.paid:
return render(request, "bda-notpaid.html", {})
if request.POST:
form = ResellForm(participant, request.POST)
if form.is_valid():
return do_resell(request, form)
else:
form = ResellForm(participant)
for attr_id in request.POST.getlist('resell'):
attribution = Attribution.objects.get(id=int(attr_id))
revente = SpectacleRevente(attribution=attribution)
revente.save()
for attr_id in request.POST.getlist('annul'):
revente = SpectacleRevente.objects.get(attribution__pk=attr_id)
revente.delete()
attributions = participant.attribution_set.filter(
spectacle__date__gte=timezone.now)
resell = attributions.filter(spectaclerevente__isnull=False)
no_resell = attributions.filter(spectaclerevente__isnull=True)
return render(request, "bda-revente.html",
{"form": form, 'tirage': tirage})
{"participant": participant, 'tirage': tirage,
"resell": resell, "no_resell": no_resell})
@buro_required