Mercurial > public > sg101
view messages/admin.py @ 872:1bd9dadcd4d9
Added mock-based test for ssl_images command.
Also added .tags to .hgignore.
author | Brian Neal <bgneal@gmail.com> |
---|---|
date | Sun, 21 Dec 2014 21:37:30 -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)