Code

fixed CSV export and CGI actions returning results
authorrichard <richard@57a73879-2fb5-44c3-a270-3262357dd7e2>
Tue, 30 Mar 2004 06:43:08 +0000 (06:43 +0000)
committerrichard <richard@57a73879-2fb5-44c3-a270-3262357dd7e2>
Tue, 30 Mar 2004 06:43:08 +0000 (06:43 +0000)
git-svn-id: http://svn.roundup-tracker.org/svnroot/roundup/trunk@2233 57a73879-2fb5-44c3-a270-3262357dd7e2

CHANGES.txt
roundup/cgi/actions.py

index 2d5748caeed5a60e498832de4e0d617ae2684d3b..3dbe83b2bf22f1e00d585dba745efe606e9a0a1a 100644 (file)
@@ -3,7 +3,7 @@ are given with the most recent entry first.
 
 2004-??-?? 0.7.0
 Fixed:
-- CSV export was busted
+- CSV export was busted (as was any action returning a result)
 - MultiMapping deviated from the Zope C implementation in a number of
   places (thanks Toby Sargeant)
 
index d5061105973687eed4d1a023326060ca37ad4be3..7bd678d4e89c6a2c52ab4c98f6fb977ac3643594 100755 (executable)
@@ -1,4 +1,4 @@
-#$Id: actions.py,v 1.20 2004-03-29 21:56:56 richard Exp $
+#$Id: actions.py,v 1.21 2004-03-30 06:43:08 richard Exp $
 
 import re, cgi, StringIO, urllib, Cookie, time, random
 
@@ -31,7 +31,7 @@ class Action:
     def execute(self):
         """Execute the action specified by this object."""
         self.permission()
-        self.handle()
+        return self.handle()
 
     name = ''
     permissionType = None
@@ -833,7 +833,7 @@ class ExportCSVAction(Action):
     def handle(self):
         ''' Export the specified search query as CSV. '''
         # figure the request
-        request = templating.HTMLRequest(self)
+        request = templating.HTMLRequest(self.client)
         filterspec = request.filterspec
         sort = request.sort
         group = request.group
@@ -847,12 +847,12 @@ class ExportCSVAction(Action):
         else:
             matches = None
 
-        h = self.additional_headers
+        h = self.client.additional_headers
         h['Content-Type'] = 'text/csv'
         # some browsers will honor the filename here...
         h['Content-Disposition'] = 'inline; filename=query.csv'
-        self.header()
-        writer = rcsv.writer(self.request.wfile)
+        self.client.header()
+        writer = rcsv.writer(self.client.request.wfile)
         writer.writerow(columns)
 
         # and search