view gpp/gcalendar/admin.py @ 145:71cb4208dc98

Tweak to #30, admin dashboard. Because of a bug in Django (9568), my dashboard appears on the login page. To get around this, pass in the user to the templatetag, so it can do a 'if user.is_staff' check. Also tweaked the HTML and CSS to show non-zero pending items in red. Shortened the pending item titles for readability.
author Brian Neal <bgneal@gmail.com>
date Wed, 09 Dec 2009 00:03:10 +0000
parents e04d91babfcf
children bc657962941e
line wrap: on
line source
"""
This file contains the automatic admin site definitions for the gcalendar application.
"""
from django.contrib import admin
from django.http import HttpResponse
from django.conf.urls.defaults import *

from gcalendar.models import Event
from gcalendar.admin_views import google_sync


class EventAdmin(admin.ModelAdmin):
    list_display = ('what', 'user', 'start_date', 'where', 'date_submitted',
            'status', 'is_approved')
    list_filter = ('start_date', 'status')
    search_fields = ('what', 'where', 'description')
    raw_id_fields = ('user', )
    exclude = ('html', 'google_id')
    save_on_top = True

    def get_urls(self):
        urls = super(EventAdmin, self).get_urls()
        my_urls = patterns('',
            url(r'^google_sync/$', 
                self.admin_site.admin_view(google_sync), 
                name="gcalendar-google_sync")
        )
        return my_urls + urls


admin.site.register(Event, EventAdmin)

# vim: ts=4 sw=4