Mercurial > public > sg101
view messages/admin.py @ 893:3aecf9058130
Merge with upstream.
author | Brian Neal <bgneal@gmail.com> |
---|---|
date | Tue, 17 Feb 2015 18:59:06 -0600 |
parents | 4a4fa174a0ec |
children |
line wrap: on
line source
""" This file contains the automatic admin site definitions for the Message models. """ from django.contrib import admin from django.core.urlresolvers import reverse from messages.models import Flag, Message, Options import bio.badges class MessageAdmin(admin.ModelAdmin): list_display = ['sender', 'receiver', 'send_date', 'subject'] raw_id_fields = ['sender', 'receiver'] exclude = ['html'] date_hierarchy = 'send_date' list_display_links = ['subject'] class FlagAdmin(admin.ModelAdmin): list_display = ['__unicode__', 'flag_date', 'message_link'] date_hierarchy = 'flag_date' list_select_related = True readonly_fields = ['message', 'flag_date', 'comments', 'message_text'] actions = ['accept_flags'] def message_link(self, obj): return '<a href="{}">Message</a>'.format( reverse('admin:messages_message_change', args=[obj.message.id])) message_link.allow_tags = True message_link.short_description = 'Message' def message_text(self, obj): return obj.message.html message_text.allow_tags = True message_text.short_description = 'Message text' def accept_flags(self, request, qs): """This admin action awards a security pin to the user who reported the message and then deletes the flag object. """ count = qs.count() for flag in qs: bio.badges.award_badge(bio.badges.SECURITY_PIN, flag.message.receiver) flag.delete() self.message_user(request, "%s flag(s) acknowledged. You may want to mark users as spammers now." % count) accept_flags.short_description = "Accept selected flags" admin.site.register(Flag, FlagAdmin) admin.site.register(Message, MessageAdmin) admin.site.register(Options)