scripts/mails.py
author Madhusudan.C.S <madhusudancs@gmail.com>
Tue, 13 Jul 2010 01:01:02 +0530
changeset 101 fb27be005a5c
parent 82 a123369b0901
permissions -rw-r--r--
Added complete support for dynamic form to add extra authors fields to proceedings form and added initial support for autocompletion based on user names for authors.

"""Helper script to send emails to the users to remind of the
registration and inform them to complete their profiles and stuff.
"""


__authors__ = [
  '"Madhusudan.C.S" <madhusudancs@gmail.com>',
  ]


from django.template import loader
from django.contrib.auth.models import User

from project.kiwipycon.registration.models import Registration
from project.kiwipycon.talk.models import Talk


def speaker_accepted():
    """Sends a mail to each speaker whose talk has been accepted
    informing them about the same.
    """

    talks = Talk.objects.all()

    template = 'notifications/speaker_accepted_mail.html'

    for talk in talks:
        subject = 'Your talk has been selected for SciPy.in 2009!'
        message = loader.render_to_string(
            template, dictionary={'name': talk.speaker.username,
                                  'title': talk.title})

        talk.speaker.email_user(subject=subject, message=message,
                                from_email='admin@scipy.in')


def speaker_sponsorship():
    """Sends a mail to each speaker whose talk has been accepted
    informing them about the their sponsorship.
    """

    talks = Talk.objects.all()

    template = 'notifications/speaker_sponsorship_mail.html'

    for talk in talks:
        subject = 'Details regarding your travel and accommodation for SciPy.in 2009'
        message = loader.render_to_string(
            template, dictionary={'name': talk.speaker.username,
                                  'title': talk.title})

        talk.speaker.email_user(subject=subject, message=message,
                                from_email='admin@scipy.in')


def delegate_remainder():
    """Sends a mail to each speaker whose talk has been accepted
    informing them about the their sponsorship.
    """

    regs = User.objects.all()

    template = 'notifications/reminder_mail.html'

    for reg in regs:
        subject = 'SciPy.in 2009: Remainder and details'
        message = loader.render_to_string(
            template, dictionary={'name': reg.username})

        reg.email_user(subject=subject, message=message,
                       from_email='madhusudancs@gmail.com')


def delegate_about_event():
    """Sends a mail to each confirmed delegate informing
    them about the the individual events.
    """

    regs = Registration.objects.all()

    template = 'notifications/sprints_about_mail.html'

    for reg in regs:
        subject = 'SciPy.in 2009: Details of the individual events'
        message = loader.render_to_string(
            template, dictionary={'name': reg.registrant.username})

        reg.registrant.email_user(subject=subject, message=message,
                                  from_email='madhusudancs@gmail.com')


def delegate_last_day():
    """Sends a mail to each confirmed delegate informing
    them about the final details.
    """

    regs = Registration.objects.all()

    template = 'notifications/last_day_mail.html'

    for reg in regs:
        subject = 'SciPy.in 2009: Schedule and other details'
        message = loader.render_to_string(
            template, dictionary={'name': reg.registrant.username})

        reg.registrant.email_user(subject=subject, message=message,
                                  from_email='madhusudancs@gmail.com')


def speaker_confirmation():
    """Sends a mail to each speaker asking for confirmation.
    """

    talks = Talk.objects.all()

    template = 'notifications/speaker_confirmation_mail.html'

    for talk in talks:
        subject = 'SciPy.in 2009: Requesting for confirmation of your talk'
        message = loader.render_to_string(
            template, dictionary={'name': talk.speaker.username,
                                  'title': talk.title})

        talk.speaker.email_user(subject=subject, message=message,
                                from_email='admin@scipy.in')

def proceedings_detail():
    """Sends a mail to each speaker informing them about proceedings
    """

    talks = Talk.objects.all()

    template = 'notifications/proceedings_detail_mail.html'

    for talk in talks:
        subject = 'SciPy.in 2009 Proceedings'
        message = loader.render_to_string(
            template, dictionary={'name': talk.speaker.username})

        talk.speaker.email_user(subject=subject, message=message,
                                from_email='admin@scipy.in')