From e3d5bf5183811c60ba2aeabc65fa13c7c57b90e5 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Aleksander=20=C5=81ukasz?= Date: Tue, 12 Nov 2013 12:12:14 +0100 Subject: [PATCH] Sending emails to teachers --- .../commands/wtem_email_teachers.py | 49 +++++++++++++++++++ .../wtem/email_teacher_before_subject.txt | 1 + 2 files changed, 50 insertions(+) create mode 100644 wtem/management/commands/wtem_email_teachers.py create mode 100644 wtem/templates/wtem/email_teacher_before_subject.txt diff --git a/wtem/management/commands/wtem_email_teachers.py b/wtem/management/commands/wtem_email_teachers.py new file mode 100644 index 0000000..3aba80d --- /dev/null +++ b/wtem/management/commands/wtem_email_teachers.py @@ -0,0 +1,49 @@ +# -*- coding: utf-8 -*- + +import sys +from optparse import make_option + +from django.core.management.base import BaseCommand, CommandError +from django.conf import settings +from django.core.mail import send_mail +from django.template.loader import render_to_string + +from contact.models import Contact + + +class Command(BaseCommand): + def handle(self, *args, **options): + sent = 0 + failed = 0 + + query = Contact.objects.filter(form_tag = 'wtem').order_by('contact').distinct('contact') + template_name = args[0] + message = render_to_string('wtem/' + template_name + '.txt') + subject = render_to_string('wtem/' + template_name + '_subject.txt') + + answer = raw_input('Send the following to %d teachers with subject "%s"\n\n %s\n\n?' % \ + (query.count(), subject.encode('utf8'), message.encode('utf8'))) + + if answer == 'yes': + for contact in query: + try: + self.send_message(message, subject, contact.contact) + except Exception as e: + failed += 1 + self.stdout.write('failed sending to: ' + contact.contact + ' - ' + str(e)) + else: + sent += 1 + self.stdout.write('message sent to: ' + contact.contact) + + self.stdout.write('sent: %s, failed: %s' % (sent, failed)) + + def send_message(self, message, subject, email): + self.stdout.write('>>> sending to %s' % email) + send_mail( + subject, + message, + getattr(settings, 'WTEM_CONTACT_EMAIL', 'no-reply@edukacjamedialna.edu.pl'), + [email], + fail_silently=False + ) + diff --git a/wtem/templates/wtem/email_teacher_before_subject.txt b/wtem/templates/wtem/email_teacher_before_subject.txt new file mode 100644 index 0000000..5649e56 --- /dev/null +++ b/wtem/templates/wtem/email_teacher_before_subject.txt @@ -0,0 +1 @@ +Pierwszy etap Wielkiego Turnieju Edukacji Medialnej już wkrótce \ No newline at end of file -- 2.20.1