From: Magnus Hagander Date: Thu, 30 Jul 2009 14:44:36 +0000 (+0200) Subject: Send approval/deapproval mail from with in the admin site X-Git-Url: http://git.postgresql.org/gitweb/static/gitweb.js?a=commitdiff_plain;h=24c03c4927e15da9a5b5adda23827a04be84fc26;p=hamn.git Send approval/deapproval mail from with in the admin site --- diff --git a/hamnadmin/register/admin.py b/hamnadmin/register/admin.py index 420e986..17cc2c2 100644 --- a/hamnadmin/register/admin.py +++ b/hamnadmin/register/admin.py @@ -1,9 +1,32 @@ from django.contrib import admin +from django import forms +from django.core.mail import send_mail +from django.conf import settings + from hamnadmin.register.models import * +class BlogAdminForm(forms.ModelForm): + class Meta: + model = Blog + + def clean_approved(self): + if self.cleaned_data['approved'] != self.instance.approved: + # Approved flag has changed, send an email + send_mail('A planet blog has been %s' % ( + self.cleaned_data['approved'] and 'approved' or 'de-approved', + ), + "The blog %s (for user %s, userid %s) has been %s." % ( + self.cleaned_data['feedurl'], + self.cleaned_data['name'], + self.cleaned_data['userid'], + self.cleaned_data['approved'] and 'approved' or 'de-approved', + ), 'webmaster@postgresql.org', [settings.NOTIFYADDR]) + return self.cleaned_data['approved'] + class BlogAdmin(admin.ModelAdmin): - list_display = ['approved', 'userid', 'name', 'feedurl', 'authorfilter', ] + list_display = ['userid', 'approved', 'name', 'feedurl', 'authorfilter', ] ordering = ['approved', 'name', ] #meh, multiple ordering not supported + form = BlogAdminForm admin.site.register(Team) admin.site.register(Blog, BlogAdmin) diff --git a/hamnadmin/register/views.py b/hamnadmin/register/views.py index d22cc5f..f8d1cc6 100644 --- a/hamnadmin/register/views.py +++ b/hamnadmin/register/views.py @@ -103,6 +103,7 @@ The user '%s' has requested the blog at is added to Planet PostgreSQL! So, head off to the admin interface and approve or reject this! +http://planet.postgresql.org/register/admin/register/blog/ """ % (blog.userid, blog.feedurl, blog.name), 'webmaster@postgresql.org', [settings.NOTIFYADDR]) blog.save()