2009-01-15 04:22:25 +08:00
|
|
|
"""
|
|
|
|
A second, custom AdminSite -- see tests.CustomAdminSiteTests.
|
|
|
|
"""
|
2011-10-14 02:51:33 +08:00
|
|
|
from __future__ import absolute_import
|
|
|
|
|
2011-09-12 06:36:16 +08:00
|
|
|
from django.conf.urls import patterns
|
2009-01-15 04:22:25 +08:00
|
|
|
from django.contrib import admin
|
|
|
|
from django.http import HttpResponse
|
2012-02-10 02:57:40 +08:00
|
|
|
from django.contrib.auth.models import User
|
|
|
|
from django.contrib.auth.admin import UserAdmin
|
2009-01-15 04:22:25 +08:00
|
|
|
|
2011-10-14 02:51:33 +08:00
|
|
|
from . import models, forms, admin as base_admin
|
|
|
|
|
2009-01-15 04:22:25 +08:00
|
|
|
|
|
|
|
class Admin2(admin.AdminSite):
|
2010-12-02 08:44:35 +08:00
|
|
|
login_form = forms.CustomAdminAuthenticationForm
|
2009-01-15 04:22:25 +08:00
|
|
|
login_template = 'custom_admin/login.html'
|
2010-01-13 07:34:46 +08:00
|
|
|
logout_template = 'custom_admin/logout.html'
|
2009-01-15 04:22:25 +08:00
|
|
|
index_template = 'custom_admin/index.html'
|
2010-01-13 07:34:46 +08:00
|
|
|
password_change_template = 'custom_admin/password_change_form.html'
|
|
|
|
password_change_done_template = 'custom_admin/password_change_done.html'
|
2009-07-17 00:16:13 +08:00
|
|
|
|
2009-01-15 04:22:25 +08:00
|
|
|
# A custom index view.
|
|
|
|
def index(self, request, extra_context=None):
|
|
|
|
return super(Admin2, self).index(request, {'foo': '*bar*'})
|
2009-07-17 00:16:13 +08:00
|
|
|
|
2009-01-15 04:22:25 +08:00
|
|
|
def get_urls(self):
|
|
|
|
return patterns('',
|
|
|
|
(r'^my_view/$', self.admin_view(self.my_view)),
|
|
|
|
) + super(Admin2, self).get_urls()
|
2009-07-17 00:16:13 +08:00
|
|
|
|
2009-01-15 04:22:25 +08:00
|
|
|
def my_view(self, request):
|
|
|
|
return HttpResponse("Django is a magical pony!")
|
2009-07-17 00:16:13 +08:00
|
|
|
|
2012-02-10 02:57:40 +08:00
|
|
|
|
|
|
|
class UserLimitedAdmin(UserAdmin):
|
|
|
|
# used for testing password change on a user not in queryset
|
|
|
|
def queryset(self, request):
|
|
|
|
qs = super(UserLimitedAdmin, self).queryset(request)
|
|
|
|
return qs.filter(is_superuser=False)
|
|
|
|
|
|
|
|
|
2009-01-15 04:22:25 +08:00
|
|
|
site = Admin2(name="admin2")
|
|
|
|
|
2011-09-21 02:16:49 +08:00
|
|
|
site.register(models.Article, base_admin.ArticleAdmin)
|
|
|
|
site.register(models.Section, inlines=[base_admin.ArticleInline])
|
|
|
|
site.register(models.Thing, base_admin.ThingAdmin)
|
|
|
|
site.register(models.Fabric, base_admin.FabricAdmin)
|
|
|
|
site.register(models.ChapterXtra1, base_admin.ChapterXtra1Admin)
|
2012-02-10 02:57:40 +08:00
|
|
|
site.register(User, UserLimitedAdmin)
|