107 lines
3.2 KiB
Python
107 lines
3.2 KiB
Python
# -*- coding: utf-8 -*-
|
|
|
|
from django.dispatch import receiver
|
|
from django.conf import settings
|
|
from django.utils.translation import ugettext
|
|
from django.template.loader import render_to_string
|
|
|
|
from greenmine.base import signals
|
|
from greenmine.base.users.utils import set_token
|
|
from greenmine.base.mail.tasks import send_mail, send_bulk_mail
|
|
|
|
|
|
@receiver(signals.mail_new_user)
|
|
def mail_new_user(sender, user, **kwargs):
|
|
template = render_to_string("email/new.user.html", {
|
|
"user": user,
|
|
"token": set_token(user),
|
|
'current_host': settings.HOST,
|
|
})
|
|
|
|
subject = ugettext("Greenmine: wellcome!")
|
|
send_mail.delay(subject, template, [user.email])
|
|
|
|
|
|
@receiver(signals.mail_recovery_password)
|
|
def mail_recovery_password(sender, user, **kwargs):
|
|
template = render_to_string("email/forgot.password.html", {
|
|
"user": user,
|
|
"token": set_token(user),
|
|
"current_host": settings.HOST,
|
|
})
|
|
subject = ugettext("Greenmine: password recovery.")
|
|
send_mail.delay(subject, template, [user.email])
|
|
|
|
## TODO: Remove me when base.notifications is finished
|
|
##
|
|
#@receiver(signals.mail_milestone_created)
|
|
#def mail_milestone_created(sender, milestone, user, **kwargs):
|
|
# participants = milestone.project.all_participants()
|
|
#
|
|
# emails_list = []
|
|
# subject = ugettext("Greenmine: milestone created")
|
|
# for person in participants:
|
|
# template = render_to_string("email/milestone.created.html", {
|
|
# "person": person,
|
|
# "current_host": settings.HOST,
|
|
# "milestone": milestone,
|
|
# "user": user,
|
|
# })
|
|
#
|
|
# emails_list.append([subject, template, [person.email]])
|
|
#
|
|
# send_bulk_mail.delay(emails_list)
|
|
#
|
|
#
|
|
#@receiver(signals.mail_userstory_created)
|
|
#def mail_userstory_created(sender, us, user, **kwargs):
|
|
# participants = us.milestone.project.all_participants()
|
|
#
|
|
# emails_list = []
|
|
# subject = ugettext("Greenmine: user story created")
|
|
#
|
|
# for person in participants:
|
|
# template = render_to_string("email/userstory.created.html", {
|
|
# "person": person,
|
|
# "current_host": settings.HOST,
|
|
# "us": us,
|
|
# "user": user,
|
|
# })
|
|
#
|
|
# emails_list.append([subject, template, [person.email]])
|
|
#
|
|
# send_bulk_mail.delay(emails_list)
|
|
#
|
|
#
|
|
#@receiver(signals.mail_task_created)
|
|
#def mail_task_created(sender, task, user, **kwargs):
|
|
# participants = task.us.milestone.project.all_participants()
|
|
#
|
|
# emails_list = []
|
|
# subject = ugettext("Greenmine: task created")
|
|
#
|
|
# for person in participants:
|
|
# template = render_to_string("email/task.created.html", {
|
|
# "person": person,
|
|
# "current_host": settings.HOST,
|
|
# "task": task,
|
|
# "user": user,
|
|
# })
|
|
#
|
|
# emails_list.append([subject, template, [person.email]])
|
|
#
|
|
# send_bulk_mail.delay(emails_list)
|
|
#
|
|
#
|
|
#@receiver(signals.mail_task_assigned)
|
|
#def mail_task_assigned(sender, task, user, **kwargs):
|
|
# template = render_to_string("email/task.assigned.html", {
|
|
# "person": task.assigned_to,
|
|
# "task": task,
|
|
# "user": user,
|
|
# "current_host": settings.HOST,
|
|
# })
|
|
#
|
|
# subject = ugettext("Greenmine: task assigned")
|
|
# send_mail.delay(subject, template, [task.assigned_to.email])
|