Author: mtredinnick
Date: 2007-04-26 06:17:19 -0500 (Thu, 26 Apr 2007)
New Revision: 5086

Modified:
   django/trunk/django/conf/urls/defaults.py
   django/trunk/django/core/urlresolvers.py
Log:
Fixed #4129 -- Pass any prefix setting into url(...) constructions so that
prefixes work with the new syntax and strings for function names.


Modified: django/trunk/django/conf/urls/defaults.py
===================================================================
--- django/trunk/django/conf/urls/defaults.py   2007-04-26 10:29:55 UTC (rev 
5085)
+++ django/trunk/django/conf/urls/defaults.py   2007-04-26 11:17:19 UTC (rev 
5086)
@@ -11,9 +11,10 @@
     pattern_list = []
     for t in args:
         if isinstance(t, (list, tuple)):
-            pattern_list.append(url(prefix=prefix, *t))
-        else:
-            pattern_list.append(t)
+            t = url(prefix=prefix, *t)
+        elif isinstance(t, RegexURLPattern):
+            t.add_prefix(prefix)
+        pattern_list.append(t)
     return pattern_list
 
 def url(regex, view, kwargs=None, name=None, prefix=''):

Modified: django/trunk/django/core/urlresolvers.py
===================================================================
--- django/trunk/django/core/urlresolvers.py    2007-04-26 10:29:55 UTC (rev 
5085)
+++ django/trunk/django/core/urlresolvers.py    2007-04-26 11:17:19 UTC (rev 
5086)
@@ -102,6 +102,14 @@
         self.default_args = default_args or {}
         self.name = name
 
+    def add_prefix(self, prefix):
+        """
+        Adds the prefix string to a string-based callback.
+        """
+        if not prefix or not hasattr(self, '_callback_str'):
+            return
+        self._callback_str = prefix + '.' + self._callback_str
+
     def resolve(self, path):
         match = self.regex.search(path)
         if match:


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

Reply via email to