aboutsummaryrefslogtreecommitdiff
path: root/management/commands
diff options
context:
space:
mode:
authorAlban Gruin2017-09-09 14:56:17 +0200
committerAlban Gruin2017-09-09 14:56:17 +0200
commitc7fce37ad4c8dee76f5d58eafefd0c73a03ea00c (patch)
treef86af8322495101ce11e187f8145f8f4d9519236 /management/commands
parent9aaa19a62b36e1b0981233785e150f50449c78e3 (diff)
Suppression de l’envoi des mails
Diffstat (limited to 'management/commands')
-rw-r--r--management/commands/sendmails.py67
1 files changed, 0 insertions, 67 deletions
diff --git a/management/commands/sendmails.py b/management/commands/sendmails.py
deleted file mode 100644
index 3c0fab0..0000000
--- a/management/commands/sendmails.py
+++ /dev/null
@@ -1,67 +0,0 @@
-# Copyright (C) 2017 Alban Gruin
-#
-# celcatsanitizer is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero General Public License as published
-# by the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# celcatsanitizer is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Affero General Public License for more details.
-#
-# You should have received a copy of the GNU Affero General Public License
-# along with celcatsanitizer. If not, see <http://www.gnu.org/licenses/>.
-
-from django.core.management.base import BaseCommand
-from django.core.mail import send_mass_mail
-from django.utils import translation
-from django.template import Context, loader
-from django.conf import settings
-
-from edt.models import Course, Subscription
-from edt.utils import get_current_or_next_week, get_week, group_courses
-
-
-class Command(BaseCommand):
- help = "Sends emails to subscribed users"
-
- def add_arguments(self, parser):
- parser.add_argument("--test", help="Print the content of mails instead of sending them", action="store_true")
-
- def handle(self, *args, **options):
- translation.activate(settings.LANGUAGE_CODE)
-
- year, week = get_current_or_next_week()
- start, end = get_week(year, week)
-
- subscriptions = Subscription.objects.filter(active=True)
- content = {}
- mails = []
-
- footer = loader.get_template("mail/mail_footer.txt")
- timetable = loader.get_template("mail/mail_timetable.txt")
-
- print("Generating messages...")
- for subscription in subscriptions:
- if subscription.group.id not in content:
- courses = Course.objects.get_courses_for_group(subscription.group, begin__gte=start, begin__lt=end)
-
- grouped_courses = group_courses(courses)
- context = Context({"courses": grouped_courses, "group": subscription.group, "week": week})
- content[subscription.group.id] = timetable.render(context)
-
- if options["test"]:
- print(subscription.group)
- print(content[subscription.group.id])
-
- if not options["test"]:
- context = Context({"admins": settings.ADMINS, "token": subscription.token, "domain": settings.DEFAULT_DOMAIN})
- mail_content = content[subscription.group.id] + footer.render(context)
- mails.append(("{0} - {1} - Semaine {2}".format(subscription.group.timetable, subscription.group, week), mail_content, settings.DEFAULT_FROM_EMAIL, [subscription.email],))
-
- if not options["test"]:
- print("Sending mails...")
- send_mass_mail(mails)
-
- self.stdout.write(self.style.SUCCESS("Done."))