changeset 3068:c4e76c84f43d

another fix to indexargs
author Richard Jones <richard@users.sourceforge.net>
date Wed, 05 Jan 2005 21:57:46 +0000
parents b0f5ea4e4dff
children 4ef775d2c8d1
files CHANGES.txt roundup/cgi/templating.py
diffstat 2 files changed, 13 insertions(+), 11 deletions(-) [+]
line wrap: on
line diff
--- a/CHANGES.txt	Wed Jan 05 21:50:03 2005 +0000
+++ b/CHANGES.txt	Wed Jan 05 21:57:46 2005 +0000
@@ -59,6 +59,7 @@
 - removed safeget() from the API (sf bug 994750)
 - demo tracker is always set up on localhost (sf bug 1049101)
 
+
 2004-10-06 0.7.11
 Fixed:
 - index args URL generation broken in .10 (sf bug 1096027)
--- a/roundup/cgi/templating.py	Wed Jan 05 21:50:03 2005 +0000
+++ b/roundup/cgi/templating.py	Wed Jan 05 21:57:46 2005 +0000
@@ -2019,7 +2019,7 @@
             l.append(s%(sc+'group', val))
         if filter and self.filter:
             l.append(s%(sc+'filter', ','.join(self.filter)))
-        if filterspec:
+        if self.classname and filterspec:
             props = self.client.db.getclass(self.classname).getprops()
             for k,v in self.filterspec.items():
                 if type(v) == type([]):
@@ -2072,17 +2072,18 @@
             l.append(sc+'startwith=%s'%self.startwith)
 
         # finally, the remainder of the filter args in the request
-        props = self.client.db.getclass(self.classname).getprops()
-        q = urllib.quote
-        for k,v in self.filterspec.items():
-            if not args.has_key(k):
-                if type(v) == type([]):
-                    if isinstance(props[k], hyperdb.String):
-                        l.append('%s=%s'%(k, '%20'.join([q(i) for i in v])))
+        if self.classname and self.filterspec:
+            props = self.client.db.getclass(self.classname).getprops()
+            q = urllib.quote
+            for k,v in self.filterspec.items():
+                if not args.has_key(k):
+                    if type(v) == type([]):
+                        if isinstance(props[k], hyperdb.String):
+                            l.append('%s=%s'%(k, '%20'.join([q(i) for i in v])))
+                        else:
+                            l.append('%s=%s'%(k, ','.join([q(i) for i in v])))
                     else:
-                        l.append('%s=%s'%(k, ','.join([q(i) for i in v])))
-                else:
-                    l.append('%s=%s'%(k, q(v)))
+                        l.append('%s=%s'%(k, q(v)))
         return '%s?%s'%(url, '&'.join(l))
     indexargs_href = indexargs_url
 

Roundup Issue Tracker: http://roundup-tracker.org/