From 87149d0d4e682582829783a1e96fff665edd303e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20P=C3=A9pin?= Date: Tue, 23 Aug 2016 16:22:06 +0200 Subject: [PATCH 1/6] Premier jet Affiche la liste des descriptions des spectacles d'un tirage. Accessible sans authentification. --- bda/templates/descriptions.html | 33 +++++++++++++++++++++++++++++++++ bda/urls.py | 1 + bda/views.py | 6 ++++++ 3 files changed, 40 insertions(+) create mode 100644 bda/templates/descriptions.html diff --git a/bda/templates/descriptions.html b/bda/templates/descriptions.html new file mode 100644 index 00000000..a5512e0e --- /dev/null +++ b/bda/templates/descriptions.html @@ -0,0 +1,33 @@ +{% for show in shows %} + + + + + + + + + + + + + + + + + + + {% if slots_description != "" %} + + + + {% endif %} + +
+

{{ show.title }}

+
{{ show.location }}
{{ show.date }}{{ show.slots }} place{{ show.slots|pluralize}} - show.price
+

{{ show.description }}

+
+ {{ show.slots_description }} +
+{% endfor %} diff --git a/bda/urls.py b/bda/urls.py index 8ec8f277..5d2c6d5f 100644 --- a/bda/urls.py +++ b/bda/urls.py @@ -32,4 +32,5 @@ urlpatterns = [ views.unpaid, name="bda-unpaid"), url(r'^mails-rappel/(?P\d+)$', views.send_rappel), + url(r'^descriptions/(?P\d+)$', views.descriptions_spectacles), ] diff --git a/bda/views.py b/bda/views.py index 776932e9..f6c1256a 100644 --- a/bda/views.py +++ b/bda/views.py @@ -364,3 +364,9 @@ def send_rappel(request, spectacle_id): else: ctxt['sent'] = False return render(request, "mails-rappel.html", ctxt) + + +def descriptions_spectacles(request, tirage_id): + tirage = get_object_or_404(Tirage, id=tirage_id) + shows = tirage.spectacle_set.all() + return render(request, 'descriptions.html', {'shows': shows}) From ab4e7ec084e5b3c246010e4bab2aaf01205e1519 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20P=C3=A9pin?= Date: Fri, 26 Aug 2016 05:28:04 +0200 Subject: [PATCH 2/6] Ajout d'infos dans les spectacles MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Ajoute des informations supplémentaires au modèle `Spectacle`. - Supprime le champ inutilisé `priority`. - Utilise le champ inutilisé `slots_description`. - Adapte le template `descriptions.html` et la vue admin à ces changements. --- bda/admin.py | 10 ++- bda/fixtures/bda.json | 14 ---- bda/migrations/0007_extends_spectacle.py | 86 ++++++++++++++++++++++++ bda/models.py | 29 +++++++- bda/templates/descriptions.html | 33 ++++++++- 5 files changed, 152 insertions(+), 20 deletions(-) create mode 100644 bda/migrations/0007_extends_spectacle.py diff --git a/bda/admin.py b/bda/admin.py index eb8d3106..b23d79e0 100644 --- a/bda/admin.py +++ b/bda/admin.py @@ -9,7 +9,7 @@ from django.core.mail import send_mail from django.contrib import admin from django.db.models import Sum, Count from bda.models import Spectacle, Salle, Participant, ChoixSpectacle,\ - Attribution, Tirage + Attribution, Tirage, Quote, CategorieSpectacle from django import forms from datetime import timedelta @@ -182,7 +182,12 @@ class ChoixSpectacleAdmin(admin.ModelAdmin): 'spectacle__title') +class QuoteInline(admin.TabularInline): + model = Quote + + class SpectacleAdmin(admin.ModelAdmin): + inlines = [QuoteInline] model = Spectacle list_display = ("title", "date", "tirage", "location", "slots", "price", "listing") @@ -194,7 +199,7 @@ class SpectacleAdmin(admin.ModelAdmin): class TirageAdmin(admin.ModelAdmin): model = Tirage list_display = ("title", "ouverture", "fermeture", "active", - "enable_do_tirage") + "enable_do_tirage") readonly_fields = ("tokens", ) list_filter = ("active", ) search_fields = ("title", ) @@ -205,6 +210,7 @@ class SalleAdmin(admin.ModelAdmin): search_fields = ('name', 'address') +admin.site.register(CategorieSpectacle) admin.site.register(Spectacle, SpectacleAdmin) admin.site.register(Salle, SalleAdmin) admin.site.register(Participant, ParticipantAdmin) diff --git a/bda/fixtures/bda.json b/bda/fixtures/bda.json index d9bc1155..bb9fd73d 100644 --- a/bda/fixtures/bda.json +++ b/bda/fixtures/bda.json @@ -74,7 +74,6 @@ "description": "Jazz / Funk", "title": "Un super concert", "price": 10.0, - "priority": 1000, "rappel_sent": null, "location": 2, "date": "2016-09-30T18:00:00Z", @@ -91,7 +90,6 @@ "description": "Homemade", "title": "Une super pi\u00e8ce", "price": 10.0, - "priority": 1000, "rappel_sent": null, "location": 3, "date": "2016-09-29T14:00:00Z", @@ -108,7 +106,6 @@ "description": "Plein air, soleil, bonne musique", "title": "Concert pour la f\u00eate de la musique", "price": 5.0, - "priority": 1000, "rappel_sent": null, "location": 1, "date": "2016-09-21T15:00:00Z", @@ -125,7 +122,6 @@ "description": "Sous le regard s\u00e9v\u00e8re de Louis Pasteur", "title": "Op\u00e9ra sans d\u00e9cors", "price": 5.0, - "priority": 1000, "rappel_sent": null, "location": 4, "date": "2016-10-06T19:00:00Z", @@ -142,7 +138,6 @@ "description": "Buffet \u00e0 la fin", "title": "Concert Trouv\u00e8re", "price": 20.0, - "priority": 1000, "rappel_sent": null, "location": 5, "date": "2016-11-30T12:00:00Z", @@ -159,7 +154,6 @@ "description": "Vive les maths", "title": "Dessin \u00e0 la craie sur tableau noir", "price": 10.0, - "priority": 1000, "rappel_sent": null, "location": 6, "date": "2016-12-15T07:00:00Z", @@ -176,7 +170,6 @@ "description": "Une pi\u00e8ce \u00e0 un personnage", "title": "D\u00e9cors, d\u00e9montage en musique", "price": 0.0, - "priority": 1000, "rappel_sent": null, "location": 3, "date": "2016-12-26T07:00:00Z", @@ -193,7 +186,6 @@ "description": "Annulera, annulera pas\u00a0?", "title": "La Nuit", "price": 27.0, - "priority": 1000, "rappel_sent": null, "location": 1, "date": "2016-11-14T23:00:00Z", @@ -210,7 +202,6 @@ "description": "Le boum fait sa carte blanche", "title": "Turbomix", "price": 10.0, - "priority": 1000, "rappel_sent": null, "location": 2, "date": "2017-01-10T20:00:00Z", @@ -227,7 +218,6 @@ "description": "Unique repr\u00e9sentation", "title": "Carinettes et trombone", "price": 15.0, - "priority": 1000, "rappel_sent": null, "location": 5, "date": "2017-01-02T14:00:00Z", @@ -244,7 +234,6 @@ "description": "Suivi d'une jam session", "title": "Percussion sur rondins", "price": 5.0, - "priority": 1000, "rappel_sent": null, "location": 4, "date": "2017-01-13T14:00:00Z", @@ -261,7 +250,6 @@ "description": "\u00c9preuve sportive et artistique", "title": "Bassin aux ernests, nage libre", "price": 5.0, - "priority": 1000, "rappel_sent": null, "location": 1, "date": "2016-11-17T09:00:00Z", @@ -278,7 +266,6 @@ "description": "Sonore", "title": "Chant du barde", "price": 13.0, - "priority": 1000, "rappel_sent": null, "location": 2, "date": "2017-02-26T07:00:00Z", @@ -295,7 +282,6 @@ "description": "Cocorico", "title": "Chant du coq", "price": 4.0, - "priority": 1000, "rappel_sent": null, "location": 1, "date": "2016-12-17T04:00:00Z", diff --git a/bda/migrations/0007_extends_spectacle.py b/bda/migrations/0007_extends_spectacle.py new file mode 100644 index 00000000..2d6c6fdc --- /dev/null +++ b/bda/migrations/0007_extends_spectacle.py @@ -0,0 +1,86 @@ +# -*- coding: utf-8 -*- +from __future__ import unicode_literals + +from django.db import models, migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('bda', '0006_add_tirage_switch'), + ] + + operations = [ + migrations.CreateModel( + name='CategorieSpectacle', + fields=[ + ('id', models.AutoField(verbose_name='ID', serialize=False, + auto_created=True, primary_key=True)), + ('name', models.CharField(max_length=300, verbose_name='Nom')), + ], + options={ + 'verbose_name': 'Cat\xe9gorie', + }, + ), + migrations.CreateModel( + name='Quote', + fields=[ + ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), + ('text', models.TextField(verbose_name='Citation')), + ('author', models.CharField(max_length=200, verbose_name='Auteur')), + ], + ), + migrations.AlterModelOptions( + name='spectacle', + options={'ordering': ('date', 'title'), + 'verbose_name': 'Spectacle'}, + ), + migrations.RemoveField( + model_name='spectacle', + name='priority', + ), + migrations.AddField( + model_name='spectacle', + name='ext_link', + field=models.CharField( + max_length=500, + verbose_name='Lien vers le site du spectacle', + blank=True), + ), + migrations.AddField( + model_name='spectacle', + name='image', + field=models.ImageField(upload_to='imgs/shows/', null=True, + verbose_name='Image', blank=True), + ), + migrations.AlterField( + model_name='tirage', + name='enable_do_tirage', + field=models.BooleanField( + default=False, + verbose_name='Le tirage peut \xeatre lanc\xe9'), + ), + migrations.AlterField( + model_name='tirage', + name='tokens', + field=models.TextField(verbose_name='Graine(s) du tirage', + blank=True), + ), + migrations.AddField( + model_name='spectacle', + name='category', + field=models.ForeignKey(blank=True, to='bda.CategorieSpectacle', + null=True), + ), + migrations.AddField( + model_name='spectacle', + name='vips', + field=models.TextField(verbose_name='Personnalit\xe9s', + blank=True), + ), + migrations.AddField( + model_name='quote', + name='spectacle', + field=models.ForeignKey(to='bda.Spectacle'), + ), + ] diff --git a/bda/models.py b/bda/models.py index ba72416a..72c7fd3b 100644 --- a/bda/models.py +++ b/bda/models.py @@ -29,7 +29,7 @@ class Tirage(models.Model): tokens = models.TextField("Graine(s) du tirage", blank=True) active = models.BooleanField("Tirage actif", default=False) enable_do_tirage = models.BooleanField("Le tirage peut être lancé", - default=False) + default=False) def date_no_seconds(self): return self.fermeture.strftime('%d %b %Y %H:%M') @@ -47,16 +47,32 @@ class Salle(models.Model): return self.name +@python_2_unicode_compatible +class CategorieSpectacle(models.Model): + name = models.CharField('Nom', max_length=300) + + def __str__(self): + return self.name + + class Meta: + verbose_name = "Catégorie" + + @python_2_unicode_compatible class Spectacle(models.Model): title = models.CharField("Titre", max_length=300) + category = models.ForeignKey(CategorieSpectacle, blank=True, null=True) date = models.DateTimeField("Date & heure") location = models.ForeignKey(Salle) + vips = models.TextField('Personnalités', blank=True) description = models.TextField("Description", blank=True) slots_description = models.TextField("Description des places", blank=True) + image = models.ImageField('Image', blank=True, null=True, + upload_to='imgs/shows/') + ext_link = models.CharField('Lien vers le site du spectacle', blank=True, + max_length=500) price = models.FloatField("Prix d'une place") slots = models.IntegerField("Places") - priority = models.IntegerField("Priorité", default=1000) tirage = models.ForeignKey(Tirage) listing = models.BooleanField("Les places sont sur listing") rappel_sent = models.DateTimeField("Mail de rappel envoyé", blank=True, @@ -64,7 +80,7 @@ class Spectacle(models.Model): class Meta: verbose_name = "Spectacle" - ordering = ("priority", "date", "title",) + ordering = ("date", "title",) def __repr__(self): return "[%s]" % self @@ -111,6 +127,13 @@ class Spectacle(models.Model): # On renvoie la liste des destinataires return members.values() + +class Quote(models.Model): + spectacle = models.ForeignKey(Spectacle) + text = models.TextField('Citation') + author = models.CharField('Auteur', max_length=200) + + PAYMENT_TYPES = ( ("cash", "Cash"), ("cb", "CB"), diff --git a/bda/templates/descriptions.html b/bda/templates/descriptions.html index a5512e0e..d95c2207 100644 --- a/bda/templates/descriptions.html +++ b/bda/templates/descriptions.html @@ -10,15 +10,25 @@ {{ show.location }} - + {% if show.category %}{{ show.category }}{% endif %} {{ show.date }} {{ show.slots }} place{{ show.slots|pluralize}} - show.price + + +

{{ show.vips }}

+ +

{{ show.description }}

+ {% for quote in show.quote_set.all %} +
+

“{{ quote.text }}”

+
{{ quote.author }}
+ {% endfor %} {% if slots_description != "" %} @@ -28,6 +38,27 @@ {% endif %} + {% if show.image %} + + +

+ {% if show.ext_link != "" %} + + + {% else %} + {{ show.title }} + {% endif %} +

+ + + {% elif show.ext_link != "" %} + + + Lien vers le site du spectacle + + + {% endif %} {% endfor %} From 3bca7787340a8206e3667afde7719d5d506d1dc3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20P=C3=A9pin?= Date: Fri, 26 Aug 2016 06:06:45 +0200 Subject: [PATCH 3/6] Ajoute des filtres sur la page description. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Les variables `GET` `location` et `category` permettent de filtrer sur les salles et catégories dans le résultats de `/bda/descriptions/` --- bda/migrations/0007_extends_spectacle.py | 9 ++++++--- bda/models.py | 2 +- bda/views.py | 15 +++++++++++++-- 3 files changed, 20 insertions(+), 6 deletions(-) diff --git a/bda/migrations/0007_extends_spectacle.py b/bda/migrations/0007_extends_spectacle.py index 2d6c6fdc..3fa6ccaa 100644 --- a/bda/migrations/0007_extends_spectacle.py +++ b/bda/migrations/0007_extends_spectacle.py @@ -16,7 +16,8 @@ class Migration(migrations.Migration): fields=[ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), - ('name', models.CharField(max_length=300, verbose_name='Nom')), + ('name', models.CharField(max_length=300, verbose_name='Nom', + unique=True)), ], options={ 'verbose_name': 'Cat\xe9gorie', @@ -25,9 +26,11 @@ class Migration(migrations.Migration): migrations.CreateModel( name='Quote', fields=[ - ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), + ('id', models.AutoField(verbose_name='ID', serialize=False, + auto_created=True, primary_key=True)), ('text', models.TextField(verbose_name='Citation')), - ('author', models.CharField(max_length=200, verbose_name='Auteur')), + ('author', models.CharField(max_length=200, + verbose_name='Auteur')), ], ), migrations.AlterModelOptions( diff --git a/bda/models.py b/bda/models.py index 72c7fd3b..8a7d0814 100644 --- a/bda/models.py +++ b/bda/models.py @@ -49,7 +49,7 @@ class Salle(models.Model): @python_2_unicode_compatible class CategorieSpectacle(models.Model): - name = models.CharField('Nom', max_length=300) + name = models.CharField('Nom', max_length=100, unique=True) def __str__(self): return self.name diff --git a/bda/views.py b/bda/views.py index f6c1256a..4ea0df32 100644 --- a/bda/views.py +++ b/bda/views.py @@ -10,6 +10,7 @@ from django.db import models from django.db.models import Count from django.core import serializers from django.forms.models import inlineformset_factory +from django.http import HttpResponseBadRequest import hashlib from django.core.mail import send_mail @@ -368,5 +369,15 @@ def send_rappel(request, spectacle_id): def descriptions_spectacles(request, tirage_id): tirage = get_object_or_404(Tirage, id=tirage_id) - shows = tirage.spectacle_set.all() - return render(request, 'descriptions.html', {'shows': shows}) + shows_qs = tirage.spectacle_set + category_name = request.GET.get('category', '') + location_id = request.GET.get('location', '') + if category_name: + shows_qs = shows_qs.filter(category__name=category_name) + if location_id: + try: + shows_qs = shows_qs.filter(location__id=int(location_id)) + except ValueError: + return HttpResponseBadRequest( + "La variable GET 'location' doit contenir un entier") + return render(request, 'descriptions.html', {'shows': shows_qs.all()}) From c449ecf8424099b05e53ba80d25d8f893b474290 Mon Sep 17 00:00:00 2001 From: Hugo Roussille Date: Tue, 30 Aug 2016 02:13:43 +0200 Subject: [PATCH 4/6] Template HTML du catalogue actuel du BdA --- bda/static/fonts/josefinsans.ttf | Bin 0 -> 94816 bytes bda/templates/descriptions.html | 133 ++++++++++++++++--------------- 2 files changed, 69 insertions(+), 64 deletions(-) create mode 100644 bda/static/fonts/josefinsans.ttf diff --git a/bda/static/fonts/josefinsans.ttf b/bda/static/fonts/josefinsans.ttf new file mode 100644 index 0000000000000000000000000000000000000000..d234c43c564878f7824bb6cc5502a615164428f6 GIT binary patch literal 94816 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 - - - -

{{ show.title }}

- - - - - - {{ show.location }} - {% if show.category %}{{ show.category }}{% endif %} - - - {{ show.date }} - {{ show.slots }} place{{ show.slots|pluralize}} - show.price - - - -

{{ show.vips }}

- - - - -

{{ show.description }}

- {% for quote in show.quote_set.all %} -
-

“{{ quote.text }}”

-
{{ quote.author }}
- {% endfor %} - - - {% if slots_description != "" %} - - - {{ show.slots_description }} - - - {% endif %} - {% if show.image %} - - -

- {% if show.ext_link != "" %} - - - {% else %} - {{ show.title }} - {% endif %} -

- - - {% elif show.ext_link != "" %} - - - Lien vers le site du spectacle - - - {% endif %} - - -{% endfor %} + + + + + + + + {% for show in shows %} + + + + + + + + + + + + + + + + + + + + {% if show.image %} + + + + {% endif %} + +

{{ show.title }}

{{ show.location }}

{{ show.category }}

{{ show.date }}

{{ show.slots }} place{{ show.slots|pluralize}} {% if slots_description != "" %}({{ show.slots_description }}){% endif %}- show.price

{{ show.category }}

+

{{ show.description }}

+ {% for quote in show.quote_set.all %} +

«{{ quote.text }}»{% if show.quote.author %} - {{ quote.author }}{% endif %}

+ {% endfor %} +

{{ show.title }}

+ {% endfor %} + + From e829ff5d1d3500ab07073dcbeaa830def79d97e8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20P=C3=A9pin?= Date: Tue, 30 Aug 2016 23:48:58 +0200 Subject: [PATCH 5/6] Petites corrections --- bda/templates/descriptions.html | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/bda/templates/descriptions.html b/bda/templates/descriptions.html index ba4a7269..f85220ec 100644 --- a/bda/templates/descriptions.html +++ b/bda/templates/descriptions.html @@ -1,3 +1,5 @@ +{% load staticfiles %} + @@ -59,7 +61,7 @@ {% if show.image %} -

{{ show.title }}

+

{{ show.title }}

{% endif %} From 6296406525df9253d9e0f40efebfd660cf323bee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20P=C3=A9pin?= Date: Wed, 31 Aug 2016 00:03:04 +0200 Subject: [PATCH 6/6] Ajout d'un lien vers la description --- bda/templates/spectacle_list.html | 9 +++++---- bda/urls.py | 3 ++- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/bda/templates/spectacle_list.html b/bda/templates/spectacle_list.html index 0c3c7317..816461db 100644 --- a/bda/templates/spectacle_list.html +++ b/bda/templates/spectacle_list.html @@ -26,7 +26,7 @@ {% endfor %} - + @@ -39,14 +39,15 @@

Exports

{% endblock %} diff --git a/bda/urls.py b/bda/urls.py index 5d2c6d5f..a6d9ed20 100644 --- a/bda/urls.py +++ b/bda/urls.py @@ -32,5 +32,6 @@ urlpatterns = [ views.unpaid, name="bda-unpaid"), url(r'^mails-rappel/(?P\d+)$', views.send_rappel), - url(r'^descriptions/(?P\d+)$', views.descriptions_spectacles), + url(r'^descriptions/(?P\d+)$', views.descriptions_spectacles, + name='bda-descriptions'), ]