diff --git a/bda/management/__init__.py b/bda/management/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/bda/management/commands/__init__.py b/bda/management/commands/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/bda/management/commands/sendrappels.py b/bda/management/commands/sendrappels.py new file mode 100644 index 00000000..1e8da240 --- /dev/null +++ b/bda/management/commands/sendrappels.py @@ -0,0 +1,28 @@ +# -*- coding: utf-8 -*- + +from __future__ import unicode_literals + +from django.core.management.base import BaseCommand +from django.utils import timezone +from datetime import timedelta +from bda.models import Spectacle + + +class Command(BaseCommand): + help = 'Envoie les mails de rappel des spectacles dont la date ' \ + 'approche.\nNe renvoie pas les mails déjà envoyés.' + + def handle(self, *args, **options): + now = timezone.now() + delay = timedelta(days=4) + shows = Spectacle.objects \ + .filter(date__range=(now, now+delay)) \ + .filter(tirage__active=True) \ + .filter(rappel_sent__isnull=True) \ + .all() + for show in shows: + show.send_rappel() + self.stdout.write( + 'Mails de rappels pour %s envoyés avec succès.' % show) + if not shows: + self.stdout.write('Aucun mail à envoyer.')