view gpp/potd/admin.py @ 569:3fe2eced1be7

Now developing on Ubuntu 12.04 with Python 2.7. Use symbolic links for media, so add media/banners to .hgignore. I had a syntax error in banner_tags.py that only Python 2.7 caught. For local development, read database name from SECRETS.
author Brian Neal <bgneal@gmail.com>
date Sun, 29 Apr 2012 16:00:01 -0500
parents 4021ea1045f7
children
line wrap: on
line source
"""
This file contains the admin definitions for the POTD application.
"""
from django.contrib import admin
from django.conf import settings

from potd.models import Photo
from potd.models import Current
from potd.models import Sequence


IMG_TAG = '<img src="%s" alt="thumbnail" />'


class PhotoAdmin(admin.ModelAdmin):
    fields = ['photo', 'caption', 'description', 'user', 'potd_count']
    raw_id_fields = ['user']
    list_display = ['__unicode__', 'thumbnail']
    actions = ['regen_thumbnail']
    search_fields = ['caption', 'description']

    class Media:
        js = settings.GPP_THIRD_PARTY_JS['tiny_mce']

    def thumbnail(self, obj):
        return IMG_TAG % obj.thumb.url
    thumbnail.allow_tags = True

    def regen_thumbnail(self, request, qs):
        """
        Regenerates the thumbnail for the selected photos.
        """
        for photo in qs:
            photo.generate_thumb()
            photo.save()

    regen_thumbnail.short_description = "Regenerate thumbs for selected photos"


class CurrentAdmin(admin.ModelAdmin):
    list_display = ('__unicode__', 'thumbnail')
    raw_id_fields = ('potd', )

    def thumbnail(self, obj):
        return IMG_TAG % obj.potd.thumb.url
    thumbnail.allow_tags = True


admin.site.register(Photo, PhotoAdmin)
admin.site.register(Current, CurrentAdmin)
admin.site.register(Sequence)