Author: russellm
Date: 2009-07-23 09:31:33 -0500 (Thu, 23 Jul 2009)
New Revision: 11314

Added:
   django/trunk/tests/regressiontests/admin_widgets/urls2.py
Modified:
   django/trunk/django/contrib/admin/widgets.py
   django/trunk/tests/regressiontests/admin_widgets/tests.py
Log:
Fixed #11532 -- Corrected the link used for edit_inline foreign keys in admin 
when the admin is deployed using the old style admin.root approach. Thanks to 
JP for the report.

Modified: django/trunk/django/contrib/admin/widgets.py
===================================================================
--- django/trunk/django/contrib/admin/widgets.py        2009-07-23 13:58:00 UTC 
(rev 11313)
+++ django/trunk/django/contrib/admin/widgets.py        2009-07-23 14:31:33 UTC 
(rev 11314)
@@ -224,7 +224,8 @@
         try:
             related_url = reverse('admin:%s_%s_add' % info, 
current_app=self.admin_site.name)
         except NoReverseMatch:
-            related_url = '../../../%s/%s/add/' % info
+            info = (self.admin_site.root_path, rel_to._meta.app_label, 
rel_to._meta.object_name.lower())
+            related_url = '%s%s/%s/add/' % info
         self.widget.choices = self.choices
         output = [self.widget.render(name, value, *args, **kwargs)]
         if rel_to in self.admin_site._registry: # If the related object has an 
admin interface:

Modified: django/trunk/tests/regressiontests/admin_widgets/tests.py
===================================================================
--- django/trunk/tests/regressiontests/admin_widgets/tests.py   2009-07-23 
13:58:00 UTC (rev 11313)
+++ django/trunk/tests/regressiontests/admin_widgets/tests.py   2009-07-23 
14:31:33 UTC (rev 11314)
@@ -115,6 +115,7 @@
 
 class AdminForeignKeyWidgetChangeList(DjangoTestCase):
     fixtures = ["admin-widgets-users.xml"]
+    admin_root = '/widget_admin'
 
     def setUp(self):
         self.client.login(username="super", password="secret")
@@ -123,5 +124,9 @@
         self.client.logout()
 
     def test_changelist_foreignkey(self):
-        response = self.client.get('/widget_admin/admin_widgets/car/')
-        self.failUnless('/widget_admin/auth/user/add/' in response.content)
+        response = self.client.get('%s/admin_widgets/car/' % self.admin_root)
+        self.failUnless('%s/auth/user/add/' % self.admin_root in 
response.content)
+
+class OldAdminForeignKeyWidgetChangeList(AdminForeignKeyWidgetChangeList):
+    urls = 'regressiontests.admin_widgets.urls2'
+    admin_root = '/deep/down/admin'

Added: django/trunk/tests/regressiontests/admin_widgets/urls2.py
===================================================================
--- django/trunk/tests/regressiontests/admin_widgets/urls2.py                   
        (rev 0)
+++ django/trunk/tests/regressiontests/admin_widgets/urls2.py   2009-07-23 
14:31:33 UTC (rev 11314)
@@ -0,0 +1,7 @@
+
+from django.conf.urls.defaults import *
+import widgetadmin
+
+urlpatterns = patterns('',
+    (r'^deep/down/admin/(.*)', widgetadmin.site.root),
+)


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To post to this group, send email to django-updates@googlegroups.com
To unsubscribe from this group, send email to 
django-updates+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/django-updates?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to