From 5c8164dd3b4ac1ec9468c0d6c746e7dd463ac310 Mon Sep 17 00:00:00 2001 From: Ludovic Stephan Date: Fri, 7 Dec 2018 17:35:40 +0100 Subject: [PATCH] Prettify revente/tirages --- bda/forms.py | 35 +++++----- .../bda/forms/revente_other_label_table.html | 8 +++ bda/templates/bda/revente/tirages.html | 70 ++++++++++++++----- bda/views.py | 5 +- 4 files changed, 81 insertions(+), 37 deletions(-) create mode 100644 bda/templates/bda/forms/revente_other_label_table.html diff --git a/bda/forms.py b/bda/forms.py index 8230056d..54c62932 100644 --- a/bda/forms.py +++ b/bda/forms.py @@ -159,12 +159,13 @@ class InscriptionReventeForm(forms.Form): class ReventeTirageAnnulForm(forms.Form): - reventes = ReventeModelMultipleChoiceField( - own=False, - label="", + reventes = TemplateLabelField( queryset=SpectacleRevente.objects.none(), widget=forms.CheckboxSelectMultiple, required=False, + label_template_name="bda/forms/revente_other_label_table.html", + option_template_name="bda/forms/checkbox_table.html", + context_object_name="revente", ) def __init__(self, participant, *args, **kwargs): @@ -175,22 +176,22 @@ class ReventeTirageAnnulForm(forms.Form): class ReventeTirageForm(forms.Form): - reventes = ReventeModelMultipleChoiceField( - own=False, - label="", - queryset=SpectacleRevente.objects.none(), - widget=forms.CheckboxSelectMultiple, - required=False, - ) - def __init__(self, participant, *args, **kwargs): super().__init__(*args, **kwargs) - self.fields["reventes"].queryset = ( - SpectacleRevente.objects.filter( - notif_sent=True, shotgun=False, tirage_done=False - ) - .exclude(confirmed_entry=participant) - .select_related("attribution__spectacle") + + self.fields["reventes"] = TemplateLabelField( + queryset=( + SpectacleRevente.objects.filter( + notif_sent=True, shotgun=False, tirage_done=False + ) + .exclude(confirmed_entry=participant) + .select_related("attribution__spectacle") + ), + widget=forms.CheckboxSelectMultiple, + required=False, + label_template_name="bda/forms/revente_other_label_table.html", + option_template_name="bda/forms/checkbox_table.html", + context_object_name="revente", ) diff --git a/bda/templates/bda/forms/revente_other_label_table.html b/bda/templates/bda/forms/revente_other_label_table.html new file mode 100644 index 00000000..c2047ff3 --- /dev/null +++ b/bda/templates/bda/forms/revente_other_label_table.html @@ -0,0 +1,8 @@ +{% with spectacle=revente.attribution.spectacle user=revente.seller.user %} +{{ spectacle.title }} +{{ spectacle.date }} +{{ spectacle.location }} +{{ spectacle.price |floatformat }}€ +{{user.first_name}} {{user.last_name}} +{{ revente.date_tirage }} +{% endwith %} \ No newline at end of file diff --git a/bda/templates/bda/revente/tirages.html b/bda/templates/bda/revente/tirages.html index b7017806..881e1e0a 100644 --- a/bda/templates/bda/revente/tirages.html +++ b/bda/templates/bda/revente/tirages.html @@ -1,45 +1,69 @@ {% extends "base_title.html" %} -{% load bootstrap %} +{% load staticfiles %} {% block realcontent %}

Tirages au sort de reventes

-{% if annulform.reventes %} +{% if annul_exists %}

Les reventes auxquelles vous êtes inscrit·e

-
- - Vous pouvez vous désinscrire des reventes suivantes tant que le tirage n'a - pas eu lieu. -
-
- {% csrf_token %} - {{ annulform|bootstrap }} -
+

+ Voici la liste des reventes auxquelles vous êtes inscrit·e ; si vous ne souhaitez plus participer au tirage au sort vous pouvez vous en désister. +

+ {% csrf_token %} + + + + + + + + + + + + + + {% for checkbox in annulform.reventes %}{{ checkbox }}{% endfor %} + +
TitreDateLieuPrixVendue parTirage le
+ value="Se désister des tirages sélectionnés">
- -
{% endif %} -{% if subform.reventes %} +
+ +{% if sub_exists %}

Tirages en cours

- Vous pouvez vous inscrire aux tirage en cours suivants. + Vous pouvez vous inscrire aux tirages en cours suivants.
-
{% csrf_token %} - {{ subform|bootstrap }} -
+ + + + + + + + + + + + + + {% for checkbox in subform.reventes %}{{ checkbox }}{% endfor %} + +
TitreDateLieuPrixVendue parTirage le
{% endif %} +{% if not annul_exists and not sub_exists %} +
+ + Aucune revente n'est active pour le moment ! +
+{% endif %} + + {% endblock %} diff --git a/bda/views.py b/bda/views.py index 7e8d9167..9d550eab 100644 --- a/bda/views.py +++ b/bda/views.py @@ -500,10 +500,13 @@ def revente_tirages(request, tirage_id): ), ) + annul_exists = annulform.fields["reventes"].queryset.exists() + sub_exists = subform.fields["reventes"].queryset.exists() + return render( request, "bda/revente/tirages.html", - {"annulform": annulform, "subform": subform}, + {"annulform": annulform, "subform": subform, "annul_exists": annul_exists, "sub_exists": sub_exists}, )