Mercurial > public > sg101
view gpp/comments/admin.py @ 293:c92fb89dbc7d
Fixed a bug where if you tried to delete a topic the new last post might be in that topic, so a cascading delete would occur and the forum would get deleted.
author | Brian Neal <bgneal@gmail.com> |
---|---|
date | Wed, 29 Dec 2010 04:56:53 +0000 |
parents | b4305e18d3af |
children | cdfa3ed59600 |
line wrap: on
line source
""" 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', ) 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)