Mercurial > public > sg101
view messages/admin.py @ 843:09ed84a7394c
For issue #76, store pre-rendered HTML for each band map entry.
author | Brian Neal <bgneal@gmail.com> |
---|---|
date | Mon, 13 Oct 2014 16:48:43 -0500 |
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)