﻿id	summary	reporter	owner	description	type	status	component	version	severity	resolution	keywords	cc	stage	has_patch	needs_docs	needs_tests	needs_better_patch	easy	ui_ux
8564	newforms-admin doesn't support linking to it via {% url %} or reverse()	Ilya Semenov	nobody	"In the old admin, that was possible to have a link to the admin area in the UI, like:
{{{
{% if user.is_staff %}
    <a href=""{% url django.contrib.admin.views.main.index %}"">Admin area</a>
{% endif %}
}}}

or even:
{{{
<a href=""{% url django.contrib.admin.views.main.change_stage ""app"",""model"",instance.id %}"">Edit instance</a>
}}}

In newforms-admin, that crashes with:
{{{
Reverse for 'src.django.contrib.admin.site.root' not found.
}}}

I do realize that admin.site is now a Site instance, not a module, that's why {% url %} will never work for it.
However, I can't see how to put a link to the admin area now?

Currently I'm using the following hack:
{{{
#!python
urlpatterns = # ...
        #(r'^admin/(.*)', admin.site.root),
	(r'^admin/(.*)', 'views.admin_site_root'),

# ...

def admin_site_root(request, url):
	return admin.site.root(request, url)
}}}
and then:
{{{
<a href=""{% url views.admin_site_root """" %}"">Admin</a>
}}}

which is pretty ugly (since of complete redundancy) but solves the problem.

I defenitely think there should be a standard way to pull the admin site urls. I can suggest two approaches:

1. Extend reverse() and {% url %} to recognize/understand bound methods, in particular django.contrib.admin.site.root

2. Under django.contrib.admin.templatetags, create a set of tags like {% admin django.contrib.admin.site %} and {% admin_change_list django.contrib.site ""app"",""model"" %}"		closed	contrib.admin	dev		duplicate	newforms-admin reverse url		Unreviewed	0	0	0	0	0	0
