Grod commit dégueux avec une tonne de trucs. Berk.

This commit is contained in:
root 2014-08-19 12:54:22 +02:00
parent d5b3d3f958
commit 64b8ee4133
17 changed files with 536 additions and 209 deletions

View file

@ -4,7 +4,7 @@ from django.core.mail import send_mail
from django.contrib.contenttypes.models import ContentType
from django.contrib import admin
from django.db.models import Sum
from django.db.models import Sum, Count
from bda.models import Spectacle, Salle, Participant, ChoixSpectacle, Attribution
class ChoixSpectacleInline(admin.TabularInline):
@ -17,13 +17,18 @@ class AttributionInline(admin.TabularInline):
class ParticipantAdmin(admin.ModelAdmin):
#inlines = [ChoixSpectacleInline]
inlines = [AttributionInline]
def queryset(self, request):
return Participant.objects.annotate(nb_places = Count('attributions'),
total = Sum('attributions__price'))
def nb_places(self, obj):
return len(obj.attribution_set.all())
return obj.nb_places
nb_places.admin_order_field = "nb_places"
nb_places.short_description = "Nombre de places"
def total(self, obj):
tot = obj.attributions.aggregate(total = Sum('price'))['total']
tot = obj.total
if tot: return u"%.02f" % tot
else: return u"0 €"
total.admin_order_field = "total"
total.short_description = "Total à payer"
list_display = ("user", "nb_places", "total", "paid", "paymenttype")
list_filter = ("paid",)
@ -56,7 +61,7 @@ Voici tes choix de spectacles tels que notre système les a enregistrés :\n\n""
Artistiquement,
Le BdA"""
send_mail ("Choix de spectacles (BdA du COF)", mail,
"bda@clipper.ens.fr", [member.user.email],
"bda@ens.fr", [member.user.email],
fail_silently = True)
count = len(queryset.all())
if count == 1:
@ -81,35 +86,48 @@ pour les spectacles suivants :
%s
*Paiement*
Ces spectacles sont à régler avant le vendredi 19 Octobre, pendant les
heures de permanences du COF (tous les jours de la semaine entre 12h et
14h, et entre 18h et 20h). Des facilités de paiement sont bien évidemment
possibles (encaissement échelonné des chèques).
L'intégralité de ces places de spectacles est à régler à partir du jeudi
10 octobre et AVANT le mercredi 23 octobre, au bureau du COF pendant les
heures de permanences (du lundi au vendredi entre 12h et 14h, et entre 18h
et 20h). Des facilités de paiement sont bien évidemment possibles : nous
pouvons ne pas encaisser le chèque immédiatement, ou bien découper votre
paiement en deux fois.
*Mode de retrait des places*
Pour l'Opéra de Paris, le théâtre de la Colline et le théâtre du Châtelet,
les places sont à retirer au COF le jour du paiement.
Au moment du paiement, une enveloppe vous sera remise, contenant les
places pour l'Opéra de Paris, pour les premiers spectacles de la Comédie
française, certains spectacles du Châtelet et du Théâtre de la Ville.
Pour les concerts Radio France, le théâtre des Champs-Élysées et la Salle
Pleyel, les places seront nominatives et à retirer au théâtre le soir de
la représentation au moins une demi-heure avant le début du spectacle.
Pour les concerts Radio France, le Théâtre des Champs-Élysées, le théâtre
du Rond-Point, le théâtre de la Colline, le théâtre de l'Athénée, l'IRCAM,
la Cité de la musique et le 104, le Studio-Théâtre de la Comédie
française, les places seront nominatives et à retirer au théâtre le soir
de la représentation au moins une demi-heure avant le début du spectacle.
Pour le théâtre de l'Odéon, la Comédie Française, le théâtre de la Ville,
le théâtre de Chaillot et l'IRCAM, les places seront distribuées dans vos
casiers environ une semaine avant la représentation (un mail vous en
avertira).
Pour le théâtre de l'Odéon, la salle Richelieu le théâtre du Vieux
colombier de la Comédie française, certains spectacles du théâtre de la
Ville et du théâtre de Châtelet ainsi que pour le théâtre de Chaillot, les
places seront distribuées environ une semaine avant la représentation (un
mail vous en avertira).
Culturellement vôtre,
Nous vous rappelons que l'obtention de places du BdA vous engage à
respecter les règles de fonctionnement :
http://www.cof.ens.fr/bda/?page_id=1370
Le système de revente des places via les mails BdA-revente sera très
prochainement disponible, directement sur votre compte GestioCOF.
En vous souhaitant de très beaux spectacles tout au long de l'année,
--
Le BdA"""
Le Bureau des Arts
(Chloé, Emilie, Jaime, Maxime, Olivier)
"""
attribs_text = ""
name = member.user.get_full_name()
for attrib in attribs:
attribs_text += u"- 1 place pour %s\n" % attrib
mail = mail % (name, attribs_text)
send_mail ("Places de spectacle (BdA du COF)", mail,
"bda@clipper.ens.fr", [member.user.email],
send_mail ("Résultats du tirage au sort", mail,
"bda@ens.fr", [member.user.email],
fail_silently = True)
count = len(queryset.all())
if count == 1:
@ -136,7 +154,13 @@ class ChoixSpectacleAdmin(admin.ModelAdmin):
list_filter = ("double", "autoquit")
search_fields = ('participant__user__username', 'participant__user__first_name', 'participant__user__last_name')
admin.site.register(Spectacle)
class SpectacleAdmin(admin.ModelAdmin):
model = Spectacle
list_display = ("title", "date", "location", "slots", "price")
list_filter = ("location",)
search_fields = ("title", "location__name")
admin.site.register(Spectacle, SpectacleAdmin)
admin.site.register(Salle)
admin.site.register(Participant, ParticipantAdmin)
admin.site.register(Attribution, AttributionAdmin)