forked from DGNum/gestioCOF
Styling
Ou comment faire plaisir à pylint sur les bouts de code concernés par cette MR
This commit is contained in:
parent
03f7dff813
commit
f93b095e0f
6 changed files with 77 additions and 41 deletions
|
@ -1,14 +1,21 @@
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
|
"""
|
||||||
|
Gestion en ligne de commande des reventes.
|
||||||
|
"""
|
||||||
|
|
||||||
from __future__ import unicode_literals
|
from __future__ import unicode_literals
|
||||||
|
|
||||||
|
from datetime import timedelta
|
||||||
from django.core.management import BaseCommand
|
from django.core.management import BaseCommand
|
||||||
from django.utils import timezone
|
from django.utils import timezone
|
||||||
from datetime import timedelta
|
|
||||||
from bda.models import SpectacleRevente
|
from bda.models import SpectacleRevente
|
||||||
|
|
||||||
|
|
||||||
class Command(BaseCommand):
|
class Command(BaseCommand):
|
||||||
|
"""
|
||||||
|
Objet `BaseCommand`, cf ``self.help`` pour plus d'informations.
|
||||||
|
"""
|
||||||
help = "Envoie les mails de notification et effectue " \
|
help = "Envoie les mails de notification et effectue " \
|
||||||
"les tirages au sort des reventes"
|
"les tirages au sort des reventes"
|
||||||
leave_locale_alone = True
|
leave_locale_alone = True
|
||||||
|
|
|
@ -1,14 +1,21 @@
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
|
"""
|
||||||
|
Gestion en ligne de commande des mails de rappel.
|
||||||
|
"""
|
||||||
|
|
||||||
from __future__ import unicode_literals
|
from __future__ import unicode_literals
|
||||||
|
|
||||||
|
from datetime import timedelta
|
||||||
from django.core.management.base import BaseCommand
|
from django.core.management.base import BaseCommand
|
||||||
from django.utils import timezone
|
from django.utils import timezone
|
||||||
from datetime import timedelta
|
|
||||||
from bda.models import Spectacle
|
from bda.models import Spectacle
|
||||||
|
|
||||||
|
|
||||||
class Command(BaseCommand):
|
class Command(BaseCommand):
|
||||||
|
"""
|
||||||
|
Objet Command, cf ``self.help`` pour plus d'informations.
|
||||||
|
"""
|
||||||
help = 'Envoie les mails de rappel des spectacles dont la date ' \
|
help = 'Envoie les mails de rappel des spectacles dont la date ' \
|
||||||
'approche.\nNe renvoie pas les mails déjà envoyés.'
|
'approche.\nNe renvoie pas les mails déjà envoyés.'
|
||||||
leave_locale_alone = True
|
leave_locale_alone = True
|
||||||
|
|
|
@ -29,7 +29,8 @@ class Tirage(models.Model):
|
||||||
default=False)
|
default=False)
|
||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
return "%s - %s" % (self.title, formats.localize(timezone.template_localtime(self.fermeture)))
|
return "%s - %s" % (self.title, formats.localize(
|
||||||
|
timezone.template_localtime(self.fermeture)))
|
||||||
|
|
||||||
|
|
||||||
@python_2_unicode_compatible
|
@python_2_unicode_compatible
|
||||||
|
@ -91,6 +92,10 @@ class Spectacle(models.Model):
|
||||||
)
|
)
|
||||||
|
|
||||||
def send_rappel(self):
|
def send_rappel(self):
|
||||||
|
"""
|
||||||
|
Envoie un mail de rappel à toutes les personnes qui ont une place pour
|
||||||
|
ce spectacle.
|
||||||
|
"""
|
||||||
# On récupère la liste des participants
|
# On récupère la liste des participants
|
||||||
members = {}
|
members = {}
|
||||||
for attr in Attribution.objects.filter(spectacle=self).all():
|
for attr in Attribution.objects.filter(spectacle=self).all():
|
||||||
|
@ -285,6 +290,10 @@ class SpectacleRevente(models.Model):
|
||||||
self.save()
|
self.save()
|
||||||
|
|
||||||
def mail_shotgun(self):
|
def mail_shotgun(self):
|
||||||
|
"""
|
||||||
|
Envoie un mail à toutes les personnes intéréssées par le spectacle pour
|
||||||
|
leur indiquer qu'il est désormais disponible au shotgun.
|
||||||
|
"""
|
||||||
inscrits = self.attribution.spectacle.subscribed.select_related('user')
|
inscrits = self.attribution.spectacle.subscribed.select_related('user')
|
||||||
|
|
||||||
mails_to_send = []
|
mails_to_send = []
|
||||||
|
@ -309,6 +318,11 @@ class SpectacleRevente(models.Model):
|
||||||
self.save()
|
self.save()
|
||||||
|
|
||||||
def tirage(self):
|
def tirage(self):
|
||||||
|
"""
|
||||||
|
Lance le tirage au sort associé à la revente. Un gagnant est choisi
|
||||||
|
parmis les personnes intéressées par le spectacle. Les personnes sont
|
||||||
|
ensuites prévenues par mail du résultat du tirage.
|
||||||
|
"""
|
||||||
inscrits = list(self.answered_mail.all())
|
inscrits = list(self.answered_mail.all())
|
||||||
spectacle = self.attribution.spectacle
|
spectacle = self.attribution.spectacle
|
||||||
seller = self.seller
|
seller = self.seller
|
||||||
|
@ -327,14 +341,16 @@ class SpectacleRevente(models.Model):
|
||||||
}
|
}
|
||||||
mails.append(mail.EmailMessage(
|
mails.append(mail.EmailMessage(
|
||||||
mail_subject,
|
mail_subject,
|
||||||
loader.render_to_string('bda/mails/revente-winner.txt', context),
|
loader.render_to_string('bda/mails/revente-winner.txt',
|
||||||
|
context),
|
||||||
from_email=settings.MAIL_DATA['revente']['FROM'],
|
from_email=settings.MAIL_DATA['revente']['FROM'],
|
||||||
to=[winner.user.email],
|
to=[winner.user.email],
|
||||||
reply_to=[seller.user.email],
|
reply_to=[seller.user.email],
|
||||||
))
|
))
|
||||||
mails.append(mail.EmailMessage(
|
mails.append(mail.EmailMessage(
|
||||||
mail_subject,
|
mail_subject,
|
||||||
loader.render_to_string('bda/mails/revente-seller.txt', context),
|
loader.render_to_string('bda/mails/revente-seller.txt',
|
||||||
|
context),
|
||||||
from_email=settings.MAIL_DATA['revente']['FROM'],
|
from_email=settings.MAIL_DATA['revente']['FROM'],
|
||||||
to=[seller.user.email],
|
to=[seller.user.email],
|
||||||
reply_to=[winner.user.email],
|
reply_to=[winner.user.email],
|
||||||
|
@ -345,11 +361,12 @@ class SpectacleRevente(models.Model):
|
||||||
if inscrit == winner:
|
if inscrit == winner:
|
||||||
continue
|
continue
|
||||||
|
|
||||||
mail_body = loader.render_to_string('bda/mails/revente-loser.txt', {
|
mail_body = loader.render_to_string(
|
||||||
'acheteur': inscrit.user,
|
'bda/mails/revente-loser.txt',
|
||||||
|
{'acheteur': inscrit.user,
|
||||||
'vendeur': seller.user,
|
'vendeur': seller.user,
|
||||||
'spectacle': spectacle,
|
'spectacle': spectacle}
|
||||||
})
|
)
|
||||||
mails.append(mail.EmailMessage(
|
mails.append(mail.EmailMessage(
|
||||||
mail_subject, mail_body,
|
mail_subject, mail_body,
|
||||||
from_email=settings.MAIL_DATA['revente']['FROM'],
|
from_email=settings.MAIL_DATA['revente']['FROM'],
|
||||||
|
|
|
@ -4,7 +4,7 @@ Une place pour le spectacle {{ spectacle.title }} ({{ spectacle.date }})
|
||||||
a été postée sur BdA-Revente.
|
a été postée sur BdA-Revente.
|
||||||
|
|
||||||
Puisque ce spectacle a lieu dans moins de 24h, il n'y a pas de tirage au sort pour
|
Puisque ce spectacle a lieu dans moins de 24h, il n'y a pas de tirage au sort pour
|
||||||
cette place : elle est disponible immédiatement à l'addresse
|
cette place : elle est disponible immédiatement à l'adresse
|
||||||
http://{{ domain }}{% url "bda-buy-revente" spectacle.id %}, à la disposition de tous.
|
http://{{ domain }}{% url "bda-buy-revente" spectacle.id %}, à la disposition de tous.
|
||||||
|
|
||||||
Chaleureusement,
|
Chaleureusement,
|
||||||
|
|
|
@ -1,4 +1,9 @@
|
||||||
# -*- encoding: utf-8 -*-
|
# -*- encoding: utf-8 -*-
|
||||||
|
|
||||||
|
"""
|
||||||
|
Formats français.
|
||||||
|
"""
|
||||||
|
|
||||||
from __future__ import unicode_literals
|
from __future__ import unicode_literals
|
||||||
|
|
||||||
DATETIME_FORMAT = r'j F Y \à H:i'
|
DATETIME_FORMAT = r'j F Y \à H:i'
|
||||||
|
|
|
@ -45,7 +45,7 @@ INSTALLED_APPS = (
|
||||||
'autocomplete_light',
|
'autocomplete_light',
|
||||||
'captcha',
|
'captcha',
|
||||||
'django_cas_ng',
|
'django_cas_ng',
|
||||||
'debug_toolbar',
|
# 'debug_toolbar',
|
||||||
'bootstrapform',
|
'bootstrapform',
|
||||||
'kfet',
|
'kfet',
|
||||||
'channels',
|
'channels',
|
||||||
|
|
Loading…
Reference in a new issue