Source code for announcements.admin

"""Registers admin interfaces for the announcements module"""
from django.contrib import admin
from django.template.defaultfilters import striptags

from thaliawebsite.templatetags.bleach_tags import bleach
from utils.translation import TranslatedModelAdmin

from .models import Announcement, FrontpageArticle, Slide


[docs]@admin.register(Announcement) class AnnouncementAdmin(TranslatedModelAdmin): """Manage the admin pages for the announcements""" #: show these fields in the admin overview list #: see :py:method:content_html for the 'content_html' field #: see :py:method:visible for the visible field list_display = ("content_html", "since", "until", "visible")
[docs] def content_html(self, obj): """Get the content of the object as html :param obj: the object to render for :return: the stripped html """ # Both bleach and striptags. # First to convert HTML entities and second to strip all HTML return bleach(striptags(obj.content))
[docs] def visible(self, obj): """Is the object visible""" return obj.is_visible
visible.boolean = True
[docs]@admin.register(FrontpageArticle) class FrontpageArticleAdmin(TranslatedModelAdmin): """Manage front page articles""" #: available fields in the admin overview list list_display = ("title", "since", "until", "visible")
[docs] def visible(self, obj): """Is the object visible""" return obj.is_visible
visible.boolean = True
[docs]@admin.register(Slide) class SlideAdmin(TranslatedModelAdmin): """Manage the admin pages for the slides""" #: show these fields in the admin overview list #: see :py:method:visible for the visible field list_display = ("title", "since", "until", "visible")
[docs] def visible(self, obj): """Is the object visible""" return obj.is_visible
visible.boolean = True