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" %}
|
{% extends "base_title.html" %}
|
||||||
{% load staticfiles %}
|
{% load staticfiles %}
|
||||||
|
|
||||||
{% block extra_head %}
|
|
||||||
<link type="text/css" rel="stylesheet" href="{% static "css/bda.css" %}" />
|
|
||||||
{% endblock %}
|
|
||||||
|
|
||||||
{% block realcontent %}
|
{% block realcontent %}
|
||||||
|
|
||||||
<h1>Revente de place</h1>
|
<h2>Revente de place</h2>
|
||||||
<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>
|
<p class="success">Un mail a bien été envoyé à {{seller.get_full_name}} ({{seller.email}}), pour racheter une place pour {{spectacle.title}} !</p>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
|
@ -1,16 +1,17 @@
|
||||||
{% extends "base_title.html" %}
|
{% extends "base_title.html" %}
|
||||||
{% load staticfiles %}
|
{% load bootstrap %}
|
||||||
|
|
||||||
{% block realcontent %}
|
{% block realcontent %}
|
||||||
<h2>Inscriptions pour BDA-Revente</h2>
|
<h2>Inscriptions pour BDA-Revente</h2>
|
||||||
<form action="" method="post">
|
<form action="" class="form-horizontal" method="post">
|
||||||
{% csrf_token %}
|
{% csrf_token %}
|
||||||
{{form}}
|
{{form | bootstrap}}
|
||||||
<input type="submit" value="S'inscrire pour les places sélectionnées">
|
<input type="submit" class="btn btn-primary" value="S'inscrire pour les places sélectionnées">
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
{% if shotgun %}
|
{% if shotgun %}
|
||||||
<h2>Places disponibles immédiatement</h2>
|
<br>
|
||||||
|
<h3>Places disponibles immédiatement</h3>
|
||||||
<ul>
|
<ul>
|
||||||
{% for spectacle in shotgun %}
|
{% for spectacle in shotgun %}
|
||||||
<li><a href="{% url "bda-buy-revente" spectacle.id %}">{{spectacle}}</a></li>
|
<li><a href="{% url "bda-buy-revente" spectacle.id %}">{{spectacle}}</a></li>
|
||||||
|
|
|
@ -1,14 +1,19 @@
|
||||||
{% extends "base_title.html" %}
|
{% extends "base_title.html" %}
|
||||||
{% load staticfiles %}
|
{% load staticfiles %}
|
||||||
|
|
||||||
{# TODO: ajouter template du mail ? Changer formulation #}
|
|
||||||
{%block realcontent %}
|
{%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">
|
<form action="" method="post">
|
||||||
{% csrf_token %}
|
{% csrf_token %}
|
||||||
<input type="hidden" name="id" value="{{selected.id}}">
|
<input type="submit" class="btn btn-primary pull-right" value="Envoyer">
|
||||||
<input type="submit" value="Confirmer">
|
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
{%endblock%}
|
{%endblock%}
|
||||||
|
|
34
bda/views.py
34
bda/views.py
|
@ -323,7 +323,8 @@ def list_revente(request, tirage_id):
|
||||||
shotgun = []
|
shotgun = []
|
||||||
for spectacle in spectacles:
|
for spectacle in spectacles:
|
||||||
revente_objects = SpectacleRevente.objects.filter(
|
revente_objects = SpectacleRevente.objects.filter(
|
||||||
attribution__spectacle=spectacle)
|
attribution__spectacle=spectacle,
|
||||||
|
soldTo__isnull=True)
|
||||||
revente_count = 0
|
revente_count = 0
|
||||||
for revente in revente_objects:
|
for revente in revente_objects:
|
||||||
if revente.shotgun:
|
if revente.shotgun:
|
||||||
|
@ -354,17 +355,36 @@ def buy_revente(request, spectacle_id):
|
||||||
participant, created = Participant.objects.get_or_create(
|
participant, created = Participant.objects.get_or_create(
|
||||||
user=request.user, tirage=tirage)
|
user=request.user, tirage=tirage)
|
||||||
reventes = SpectacleRevente.objects.filter(
|
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:
|
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.soldTo = participant
|
||||||
revente.save()
|
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",
|
return render(request, "revente-confirm.html",
|
||||||
{"selected": selected, "spectacle": spectacle})
|
{"spectacle": spectacle,
|
||||||
|
"user": request.user})
|
||||||
|
|
||||||
|
|
||||||
@buro_required
|
@buro_required
|
||||||
|
|
Loading…
Reference in a new issue