scripts/mails.py
author Madhusudan.C.S <madhusudancs@gmail.com>
Tue, 13 Jul 2010 16:32:29 +0530
changeset 104 06b7e950a798
parent 82 a123369b0901
permissions -rw-r--r--
Changed the URLs to work for 2009 site.

"""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')