Fixed #8522 -- Allow app_index to take extra_context to be consistent with the other views in the admin. Thanks Jannis Leidel for the patch.

git-svn-id: http://code.djangoproject.com/svn/django/trunk@8529 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
Brian Rosner 2008-08-25 03:55:47 +00:00
parent 82a1d5471c
commit de977c8514
1 changed files with 7 additions and 3 deletions

View File

@ -366,7 +366,7 @@ class AdminSite(object):
context_instance=template.RequestContext(request) context_instance=template.RequestContext(request)
) )
def app_index(self, request, app_label): def app_index(self, request, app_label, extra_context=None):
user = request.user user = request.user
has_module_perms = user.has_module_perms(app_label) has_module_perms = user.has_module_perms(app_label)
app_dict = {} app_dict = {}
@ -399,10 +399,14 @@ class AdminSite(object):
raise http.Http404('The requested admin page does not exist.') raise http.Http404('The requested admin page does not exist.')
# Sort the models alphabetically within each app. # Sort the models alphabetically within each app.
app_dict['models'].sort(lambda x, y: cmp(x['name'], y['name'])) app_dict['models'].sort(lambda x, y: cmp(x['name'], y['name']))
return render_to_response(self.app_index_template or 'admin/app_index.html', { context = {
'title': _('%s administration' % capfirst(app_label)), 'title': _('%s administration' % capfirst(app_label)),
'app_list': [app_dict] 'app_list': [app_dict]
}, context_instance=template.RequestContext(request)) }
context.update(extra_context or {})
return render_to_response(self.app_index_template or 'admin/app_index.html', context,
context_instance=template.RequestContext(request)
)
# This global object represents the default admin site, for the common case. # This global object represents the default admin site, for the common case.
# You can instantiate AdminSite in your own code to create a custom admin site. # You can instantiate AdminSite in your own code to create a custom admin site.