Mercurial > public > sg101
view gpp/comments/admin.py @ 515:ae89ba801e8b
For #194, convert the POTD management command to a celery task.
Refactored to put the logic for the command into a function, and the command simply calls this function. The task can also just call this function. Added some basic tests for the new function.
author | Brian Neal <bgneal@gmail.com> |
---|---|
date | Wed, 14 Dec 2011 02:41:15 +0000 |
parents | cdfa3ed59600 |
children |
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', ) 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)