12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- import datetime
- import pytz
- from django.conf import settings
- from django.core.mail import send_mail
- from django.utils.translation import activate
- def _get_contrib_context(contrib, mgmt_token, request=None):
- """ Sends an email related to a contrib
- """
- activate(settings.LANGUAGE_CODE)
- if request:
- permalink = contrib.get_absolute_url(request)
- else:
- permalink = None
- ndays = (contrib.expiration_date - datetime.datetime.now(pytz.utc)).days
- return {
- 'contrib': contrib,
- 'ndays': ndays,
- 'isp': settings.ISP,
- 'management_link': contrib.make_management_url(mgmt_token),
- 'mgmt_token': mgmt_token,
- 'permalink': permalink,
- }
- def send_contributor_email(
- contrib, subject_template, body_template, mgmt_token, request=None):
- context = _get_contrib_context(contrib, mgmt_token, request)
- send_mail(
- subject_template.render(context),
- body_template.render(context),
- settings.DEFAULT_FROM_EMAIL,
- [contrib.email],
- )
- return context
- def send_moderator_emails(
- contrib, subject_template, body_template, mgmt_token, request):
- context = _get_contrib_context(contrib, mgmt_token, request)
- if len(settings.NOTIFICATION_EMAILS) > 0:
- send_mail(
- subject_template.render(context),
- body_template.render(context),
- settings.DEFAULT_FROM_EMAIL,
- settings.NOTIFICATION_EMAILS,
- )
- return context
|