[Checkins] SVN: lovely.remotetask/trunk/s - make sessions optional for job display view (no additional tests, because

Benji York benji at zope.com
Tue Aug 7 10:05:37 EDT 2007


Log message for revision 78668:
  - make sessions optional for job display view (no additional tests, because
    there aren't any sorting tests); click-to-sort column headers disappear if
    no session is available
  - bump version
  

Changed:
  U   lovely.remotetask/trunk/setup.py
  U   lovely.remotetask/trunk/src/lovely/remotetask/browser/README.txt
  U   lovely.remotetask/trunk/src/lovely/remotetask/browser/service.py

-=-
Modified: lovely.remotetask/trunk/setup.py
===================================================================
--- lovely.remotetask/trunk/setup.py	2007-08-07 13:07:29 UTC (rev 78667)
+++ lovely.remotetask/trunk/setup.py	2007-08-07 14:05:37 UTC (rev 78668)
@@ -3,7 +3,7 @@
 
 setup (
     name='lovely.remotetask',
-    version='0.2.4',
+    version='0.2.5',
     author = "Lovely Systems",
     author_email = "office at lovelysystems.com",
     description = "A remotetask client utiltiy for zope 3",

Modified: lovely.remotetask/trunk/src/lovely/remotetask/browser/README.txt
===================================================================
--- lovely.remotetask/trunk/src/lovely/remotetask/browser/README.txt	2007-08-07 13:07:29 UTC (rev 78667)
+++ lovely.remotetask/trunk/src/lovely/remotetask/browser/README.txt	2007-08-07 14:05:37 UTC (rev 78668)
@@ -237,4 +237,3 @@
 
   >>> service.getStatus(jobid)
   'error'
-

Modified: lovely.remotetask/trunk/src/lovely/remotetask/browser/service.py
===================================================================
--- lovely.remotetask/trunk/src/lovely/remotetask/browser/service.py	2007-08-07 13:07:29 UTC (rev 78667)
+++ lovely.remotetask/trunk/src/lovely/remotetask/browser/service.py	2007-08-07 14:05:37 UTC (rev 78668)
@@ -215,20 +215,25 @@
 
         request = args[1]
         prefix = kw.get('prefix')
-        session = ISession(request)[SORTED_ON_KEY]
-        if 'sort-on' in request:
-            name = request['sort-on']
-            if prefix and name.startswith(prefix):
-                name = name[len(prefix):]
-                oldName, oldReverse = session.get(prefix, (None, None))
-                if oldName == name:
-                    session[prefix] = (name, not oldReverse)
-                else:
-                    session[prefix] = (name, False)
-        # Now get the sort-on data from the session
-        if prefix in session:
-            kw['sort_on'] = [session[prefix]]
 
+        session = zope.component.queryAdapter(request, ISession)
+        if session is not None:
+            session = session[SORTED_ON_KEY]
+
+            if 'sort-on' in request:
+                name = request['sort-on']
+                if prefix and name.startswith(prefix):
+                    name = name[len(prefix):]
+                    oldName, oldReverse = session.get(prefix, (None, None))
+                    if oldName == name:
+                        session[prefix] = (name, not oldReverse)
+                    else:
+                        session[prefix] = (name, False)
+
+            # Now get the sort-on data from the session
+            if prefix in session:
+                kw['sort_on'] = [session[prefix]]
+
         super(ListFormatter, self).__init__(*args, **kw)
         self.columnCSS = {}
 
@@ -241,7 +246,7 @@
     # sortable table support via session
     def getHeader(self, column):
         contents = column.renderHeader(self)
-        if (ISortableColumn.providedBy(column)):
+        if self.sortOn != (None, None) and ISortableColumn.providedBy(column):
             contents = self._wrapInSortUI(contents, column)
         return contents
 



More information about the Checkins mailing list