qrurls/admin.py
author Tero Marttila <terom@fixme.fi>
Mon, 15 Jul 2013 03:13:09 +0300
changeset 7 8202196630d3
parent 6 e821a59bf3a7
child 8 5c8a19fa6a29
permissions -rw-r--r--
better reporting of active/upcoming items
from django.contrib import admin
from qrurls.models import URL, URLItem
import django.utils.html

class URLItemInline (admin.TabularInline) :
    model = URLItem

class URLAdmin (admin.ModelAdmin) :
    def qrcode_img (self, obj) :
        return '<img src="{img}" />'.format(
                img=django.utils.html.escape(obj.qrcode_img()),
        )
    qrcode_img.allow_tags = True

    readonly_fields = (
        'qrcode_url',
        'qrcode_img',
        'active_item',
        'upcoming_item',
    )
    list_display = (
        'shorturl',
    )
    fieldsets = (
        (None, {
            'fields': ('shorturl', 'active_item', 'upcoming_item')
        }),
        ("QRCode", {
            'fields': ('qrcode_url', 'qrcode_img'),
        }),
    )
    inlines = (URLItemInline, )

class URLItemAdmin (admin.ModelAdmin) :
    list_display = (
        'shorturl', 'get_absolute_url', 'published_state',
    )
    readonly_fields = ('published_state',)
    fieldsets = (
        ("Publishing", {
            'fields': ('shorturl', 'published', ),
        }),
        ("Target", {
            'fields': ('url', ),
        }),
    )

admin.site.register(URL, URLAdmin)
admin.site.register(URLItem, URLItemAdmin)