App Engine Python SDK version 1.7.4 (2)
[gae.git] / python / lib / django_1_4 / tests / regressiontests / admin_views / customadmin.py
blobd205e0e2909790700991a3fddfa19eb3243c30c2
1 """
2 A second, custom AdminSite -- see tests.CustomAdminSiteTests.
3 """
4 from __future__ import absolute_import
6 from django.conf.urls import patterns
7 from django.contrib import admin
8 from django.http import HttpResponse
9 from django.contrib.auth.models import User
10 from django.contrib.auth.admin import UserAdmin
12 from . import models, forms, admin as base_admin
15 class Admin2(admin.AdminSite):
16 login_form = forms.CustomAdminAuthenticationForm
17 login_template = 'custom_admin/login.html'
18 logout_template = 'custom_admin/logout.html'
19 index_template = 'custom_admin/index.html'
20 password_change_template = 'custom_admin/password_change_form.html'
21 password_change_done_template = 'custom_admin/password_change_done.html'
23 # A custom index view.
24 def index(self, request, extra_context=None):
25 return super(Admin2, self).index(request, {'foo': '*bar*'})
27 def get_urls(self):
28 return patterns('',
29 (r'^my_view/$', self.admin_view(self.my_view)),
30 ) + super(Admin2, self).get_urls()
32 def my_view(self, request):
33 return HttpResponse("Django is a magical pony!")
36 class UserLimitedAdmin(UserAdmin):
37 # used for testing password change on a user not in queryset
38 def queryset(self, request):
39 qs = super(UserLimitedAdmin, self).queryset(request)
40 return qs.filter(is_superuser=False)
43 site = Admin2(name="admin2")
45 site.register(models.Article, base_admin.ArticleAdmin)
46 site.register(models.Section, inlines=[base_admin.ArticleInline])
47 site.register(models.Thing, base_admin.ThingAdmin)
48 site.register(models.Fabric, base_admin.FabricAdmin)
49 site.register(models.ChapterXtra1, base_admin.ChapterXtra1Admin)
50 site.register(User, UserLimitedAdmin)