diff roundup/backends/back_gadfly.py @ 1002:1798d2fa9fec

Hack hack... . Lots of cleanup in the classic html (stylesheet, search page, index page, ...) . Reinstated searching, but not query saving yet . Filtering only allows sorting and grouping by one property - all backends now implement this behaviour. . Nosy list journalling turned off by default, everything else is on. . Added some convenience methods (reverse, propchanged, [item] accesses, ...) . Did I mention the stylesheet is much cleaner now? :)
author Richard Jones <richard@users.sourceforge.net>
date Sun, 01 Sep 2002 04:32:30 +0000
parents 8fd80699fa3c
children 8816534e6a1a
line wrap: on
line diff
--- a/roundup/backends/back_gadfly.py	Sat Aug 31 22:09:26 2002 +0000
+++ b/roundup/backends/back_gadfly.py	Sun Sep 01 04:32:30 2002 +0000
@@ -1,4 +1,4 @@
-# $Id: back_gadfly.py,v 1.6 2002-08-30 08:35:16 richard Exp $
+# $Id: back_gadfly.py,v 1.7 2002-09-01 04:32:30 richard Exp $
 __doc__ = '''
 About Gadfly
 ============
@@ -1469,8 +1469,8 @@
             sort spec
 
             "filterspec" is {propname: value(s)}
-            "sort" is ['+propname', '-propname', 'propname', ...]
-            "group is ['+propname', '-propname', 'propname', ...]
+            "sort" and "group" are (dir, prop) where dir is '+', '-' or None
+                               and prop is a prop name or None
             "search_matches" is {nodeid: marker}
         '''
         cn = self.classname
@@ -1511,26 +1511,24 @@
         # figure the order by clause
         orderby = []
         ordercols = []
-        if sort:
-            for entry in sort:
-                if entry[0] != '-':
-                    orderby.append('_'+entry)
-                    ordercols.append(entry)
-                else:
-                    orderby.append('_'+entry[1:]+' desc')
-                    ordercols.append(entry)
+        if sort is not None:
+            if sort[0] != '-':
+                orderby.append('_'+sort[1])
+                ordercols.append(sort[1])
+            else:
+                orderby.append('_'+sort[1]+' desc')
+                ordercols.append(sort[1])
 
         # figure the group by clause
         groupby = []
         groupcols = []
-        if group:
-            for entry in group:
-                if entry[0] != '-':
-                    groupby.append('_'+entry)
-                    groupcols.append(entry)
-                else:
-                    groupby.append('_'+entry[1:]+' desc')
-                    groupcols.append(entry[1:])
+        if group is not None:
+            if group[0] != '-':
+                groupby.append('_'+group[1])
+                groupcols.append(group[1])
+            else:
+                groupby.append('_'+group[1]+' desc')
+                groupcols.append(group[1])
 
         # construct the SQL
         frum = ','.join(frum)
@@ -1743,13 +1741,18 @@
         if not properties.has_key('files'):
             properties['files'] = hyperdb.Multilink("file")
         if not properties.has_key('nosy'):
-            properties['nosy'] = hyperdb.Multilink("user")
+            # note: journalling is turned off as it really just wastes
+            # space. this behaviour may be overridden in an instance
+            properties['nosy'] = hyperdb.Multilink("user", do_journal="no")
         if not properties.has_key('superseder'):
             properties['superseder'] = hyperdb.Multilink(classname)
         Class.__init__(self, db, classname, **properties)
 
 #
 # $Log: not supported by cvs2svn $
+# Revision 1.6  2002/08/30 08:35:16  richard
+# very basic filter support
+#
 # Revision 1.5  2002/08/23 05:33:32  richard
 # implemented multilink changes (and a unit test)
 #

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