X-Git-Url: https://git.mdrn.pl/edumed.git/blobdiff_plain/338df01332addc2146023ae2ed3a6f2730fb0098..543746a467e90915f7eaf60b7b09f5fa498056e0:/wtem/management/commands/wtem_email_teachers.py?ds=sidebyside diff --git a/wtem/management/commands/wtem_email_teachers.py b/wtem/management/commands/wtem_email_teachers.py new file mode 100644 index 0000000..e0986f8 --- /dev/null +++ b/wtem/management/commands/wtem_email_teachers.py @@ -0,0 +1,47 @@ +# -*- coding: utf-8 -*- + +import sys +from optparse import make_option + +from django.core.management.base import BaseCommand, CommandError +from django.conf import settings +from wtem.management.commands 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 = subject, + body = message, + to = [email] + ) +