gremmie@1: """This file houses various core utility functions for GPP"""
gremmie@1: 
gremmie@1: import django.core.mail
gremmie@1: from django.contrib.sites.models import Site
gremmie@1: from django.conf import settings
gremmie@1: 
gremmie@1: from core import logging
gremmie@1: 
gremmie@1: 
gremmie@1: def send_mail(subject, message, from_email, recipient_list, 
gremmie@1:         fail_silently = False, auth_user = None, auth_password = None):
gremmie@1:     """The main gpp send email function.
gremmie@1:     Use this function to send email from the site. It will obey debug settings and
gremmie@1:     log all emails.
gremmie@1:     """
gremmie@1: 
gremmie@1:     if settings.GPP_SEND_EMAIL:
gremmie@1:         django.core.mail.send_mail(subject, message, from_email, recipient_list,
gremmie@1:                 fail_silently, auth_user, auth_password)
gremmie@1: 
gremmie@1:     logging.info('EMAIL:\nFrom: %s\nTo: %s\nSubject: %s\nMessage:\n%s' % 
gremmie@1:             (from_email, str(recipient_list), subject, message))
gremmie@1: 
gremmie@1: 
gremmie@1: def email_admins(subject, message):
gremmie@1:     """Emails the site admins. Goes through the site send_mail function."""
gremmie@1:     site = Site.objects.get_current()
gremmie@1:     subject = '[%s] %s' % (site.name, subject)
gremmie@1:     send_mail(subject, 
gremmie@1:             message, 
gremmie@1:             '%s@%s' % (settings.GPP_NO_REPLY_EMAIL, site.domain),
gremmie@1:             [mail_tuple[1] for mail_tuple in settings.ADMINS])
gremmie@1: 
gremmie@1: 
gremmie@1: def email_managers(subject, message):
gremmie@1:     """Emails the site managers. Goes through the site send_mail function."""
gremmie@1:     site = Site.objects.get_current()
gremmie@1:     subject = '[%s] %s' % (site.name, subject)
gremmie@1:     send_mail(subject, 
gremmie@1:             msg, 
gremmie@1:             '%s@%s' % (settings.GPP_NO_REPLY_EMAIL, site.domain),
gremmie@1:             [mail_tuple[1] for mail_tuple in settings.MANAGERS])
gremmie@1: 
gremmie@1: 
gremmie@1: def get_full_name(user):
gremmie@1:     """Returns the user's full name if available, otherwise falls back
gremmie@1:     to the username."""
gremmie@1:     full_name = user.get_full_name()
gremmie@1:     if full_name:
gremmie@1:         return full_name
gremmie@1:     return user.username
bgneal@9: 
bgneal@9: # vim: ts=4 sw=4