Mercurial > public > sg101
diff comments/admin.py @ 581:ee87ea74d46b
For Django 1.4, rearranged project structure for new manage.py.
author | Brian Neal <bgneal@gmail.com> |
---|---|
date | Sat, 05 May 2012 17:10:48 -0500 |
parents | gpp/comments/admin.py@cdfa3ed59600 |
children | be5b37719059 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/comments/admin.py Sat May 05 17:10:48 2012 -0500 @@ -0,0 +1,48 @@ +""" +This file contains the automatic admin site definitions for the comment models. +""" +from django.contrib import admin +from comments.models import Comment +from comments.models import CommentFlag +import bio.badges + + +class CommentAdmin(admin.ModelAdmin): + fieldsets = ( + (None, + {'fields': ('content_type', 'object_id', )} + ), + ('Content', + {'fields': ('user', 'comment')} + ), + ('Metadata', + {'fields': ('ip_address', 'is_public', 'is_removed')} + ), + ) + list_display = ('__unicode__', 'content_type', 'object_id', 'ip_address', + 'creation_date', 'is_public', 'not_removed') + list_filter = ('creation_date', 'is_public', 'is_removed') + date_hierarchy = 'creation_date' + ordering = ('-creation_date', ) + search_fields = ('comment', 'user__username', 'ip_address') + raw_id_fields = ('user', 'content_type') + + +class CommentFlagAdmin(admin.ModelAdmin): + list_display = ('__unicode__', 'flag_date', 'get_comment_url') + actions = ('accept_flags', ) + raw_id_fields = ('user', 'comment') + + def accept_flags(self, request, qs): + """This admin action awards a security pin to the user who reported + the comment and then deletes the flagged comment object. + """ + for flag in qs: + bio.badges.award_badge(bio.badges.SECURITY_PIN, flag.user) + flag.delete() + + accept_flags.short_description = "Accept selected comment flags" + + +admin.site.register(Comment, CommentAdmin) +admin.site.register(CommentFlag, CommentFlagAdmin)