diff options
Diffstat (limited to 'news/views.py')
-rw-r--r-- | news/views.py | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/news/views.py b/news/views.py index 274ba75d..f799fc08 100644 --- a/news/views.py +++ b/news/views.py @@ -1,6 +1,9 @@ from django import forms +from django.conf import settings +from django.core.mail import send_mail from django.http import HttpResponse from django.shortcuts import get_object_or_404, redirect +from django.template import Context, loader from django.views.decorators.http import require_POST from django.views.generic import (DetailView, ListView, CreateView, UpdateView, DeleteView) @@ -37,6 +40,16 @@ class NewsCreateView(CreateView): newsitem.author = self.request.user newsitem.slug = find_unique_slug(News, newsitem.title) newsitem.save() + if newsitem.send_announce: + ctx = Context({ + 'news': newsitem, + }) + template = loader.get_template('news/news_email_notification.txt') + send_mail('[%s] %s' % (settings.NEWS_MAILINGLIST, newsitem.title), + template.render(ctx), + '"%s: Recent news updates: %s" <%s@%s>' % (settings.BRANDING_DISTRONAME, newsitem.author.get_full_name(), settings.NEWS_MAILINGLIST, settings.MAILMAN_DOMAIN), + ['%s@%s' % (settings.NEWS_MAILINGLIST, settings.MAILMAN_DOMAIN)], + fail_silently=True) return super(NewsCreateView, self).form_valid(form) |