forked from DGNum/gestioCOF
revente des places au shotgun
This commit is contained in:
parent
285e3cb78f
commit
46f91adc08
4 changed files with 45 additions and 23 deletions
|
@ -1,12 +1,8 @@
|
|||
{% extends "base_title.html" %}
|
||||
{% load staticfiles %}
|
||||
|
||||
{% block extra_head %}
|
||||
<link type="text/css" rel="stylesheet" href="{% static "css/bda.css" %}" />
|
||||
{% endblock %}
|
||||
|
||||
{% block realcontent %}
|
||||
|
||||
<h1>Revente de place</h1>
|
||||
<p class="success">Votre offre de revente de {{ places }} pour {{ show.title }} le {{ show.date_no_seconds }} ({{ show.location }}) à {{ show.price }}€ a bien été envoyée.</p>
|
||||
<h2>Revente de place</h2>
|
||||
<p class="success">Un mail a bien été envoyé à {{seller.get_full_name}} ({{seller.email}}), pour racheter une place pour {{spectacle.title}} !</p>
|
||||
{% endblock %}
|
||||
|
|
|
@ -1,16 +1,17 @@
|
|||
{% extends "base_title.html" %}
|
||||
{% load staticfiles %}
|
||||
{% load bootstrap %}
|
||||
|
||||
{% block realcontent %}
|
||||
<h2>Inscriptions pour BDA-Revente</h2>
|
||||
<form action="" method="post">
|
||||
<form action="" class="form-horizontal" method="post">
|
||||
{% csrf_token %}
|
||||
{{form}}
|
||||
<input type="submit" value="S'inscrire pour les places sélectionnées">
|
||||
{{form | bootstrap}}
|
||||
<input type="submit" class="btn btn-primary" value="S'inscrire pour les places sélectionnées">
|
||||
</form>
|
||||
|
||||
{% if shotgun %}
|
||||
<h2>Places disponibles immédiatement</h2>
|
||||
<br>
|
||||
<h3>Places disponibles immédiatement</h3>
|
||||
<ul>
|
||||
{% for spectacle in shotgun %}
|
||||
<li><a href="{% url "bda-buy-revente" spectacle.id %}">{{spectacle}}</a></li>
|
||||
|
|
|
@ -1,14 +1,19 @@
|
|||
{% extends "base_title.html" %}
|
||||
{% load staticfiles %}
|
||||
|
||||
{# TODO: ajouter template du mail ? Changer formulation #}
|
||||
{%block realcontent %}
|
||||
Vous êtes sur le point de racheter une place pour {{spectacle.title}} à {{selected.attribution.participant.user.get_full_name}} ; confirmez-vous ceci ? Un mail lui sera envoyé pour le/la notifier et vous permettre d'entrer en contact.
|
||||
<h2>Rachat d'une place</h2>
|
||||
Note : ce mail sera envoyé à une personne au hasard revendant sa place.
|
||||
<pre>
|
||||
Bonjour !
|
||||
|
||||
Je souhaiterais racheter ta place pour {{spectacle.title}} le {{spectacle.date}} ({{spectacle.location}}) à {{spectacle.price}}€.
|
||||
Contacte-moi si tu es toujours intéressé-e !
|
||||
|
||||
{{user.get_full_name}} ({{user.email}})
|
||||
</pre>
|
||||
<form action="" method="post">
|
||||
{% csrf_token %}
|
||||
<input type="hidden" name="id" value="{{selected.id}}">
|
||||
<input type="submit" value="Confirmer">
|
||||
<input type="submit" class="btn btn-primary pull-right" value="Envoyer">
|
||||
</form>
|
||||
|
||||
{%endblock%}
|
||||
|
|
34
bda/views.py
34
bda/views.py
|
@ -323,7 +323,8 @@ def list_revente(request, tirage_id):
|
|||
shotgun = []
|
||||
for spectacle in spectacles:
|
||||
revente_objects = SpectacleRevente.objects.filter(
|
||||
attribution__spectacle=spectacle)
|
||||
attribution__spectacle=spectacle,
|
||||
soldTo__isnull=True)
|
||||
revente_count = 0
|
||||
for revente in revente_objects:
|
||||
if revente.shotgun:
|
||||
|
@ -354,17 +355,36 @@ def buy_revente(request, spectacle_id):
|
|||
participant, created = Participant.objects.get_or_create(
|
||||
user=request.user, tirage=tirage)
|
||||
reventes = SpectacleRevente.objects.filter(
|
||||
attribution__spectacle=spectacle)
|
||||
attribution__spectacle=spectacle,
|
||||
soldTo__isnull=True)
|
||||
|
||||
if not reventes.exists():
|
||||
return render(request, "bda-no-revente.html", {})
|
||||
|
||||
if request.POST:
|
||||
revente = SpectacleRevente.objects.get(pk=request.POST['id'])
|
||||
idx = random.randint(0, reventes.count() - 1)
|
||||
revente = reventes.all()[idx]
|
||||
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 !
|
||||
|
||||
%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.attribution.participant.user.email],
|
||||
fail_silently=False)
|
||||
return render(request, "bda-success.html",
|
||||
{"seller": revente.attribution.participant.user,
|
||||
"spectacle": spectacle})
|
||||
|
||||
if reventes.exists():
|
||||
idx = random.randint(0, reventes.count() - 1)
|
||||
selected = reventes.all()[idx]
|
||||
return render(request, "revente-confirm.html",
|
||||
{"selected": selected, "spectacle": spectacle})
|
||||
{"spectacle": spectacle,
|
||||
"user": request.user})
|
||||
|
||||
|
||||
@buro_required
|
||||
|
|
Loading…
Reference in a new issue