[Checkins] SVN: Products.CMFDefault/branches/charlie_formlib_for_folders/Products/CMFDefault/browser/ Minor corrections for pagination.

Charlie Clark charlie at begeistert.org
Mon Aug 10 14:23:10 EDT 2009


Log message for revision 102633:
  Minor corrections for pagination.

Changed:
  U   Products.CMFDefault/branches/charlie_formlib_for_folders/Products/CMFDefault/browser/new_folder.py
  U   Products.CMFDefault/branches/charlie_formlib_for_folders/Products/CMFDefault/browser/templates/batch_widgets.pt
  U   Products.CMFDefault/branches/charlie_formlib_for_folders/Products/CMFDefault/browser/tests/test_new_folder.py

-=-
Modified: Products.CMFDefault/branches/charlie_formlib_for_folders/Products/CMFDefault/browser/new_folder.py
===================================================================
--- Products.CMFDefault/branches/charlie_formlib_for_folders/Products/CMFDefault/browser/new_folder.py	2009-08-10 17:48:12 UTC (rev 102632)
+++ Products.CMFDefault/branches/charlie_formlib_for_folders/Products/CMFDefault/browser/new_folder.py	2009-08-10 18:23:10 UTC (rev 102633)
@@ -188,25 +188,25 @@
                         self._BATCH_SIZE)
                     )
                 ]
-        range_start = max(self.current_page() - 5, 0)
-        range_stop = min(max(self.current_page() + 5, 10), len(pages))
-        page_range = []
+        range_start = max(self.page_number() - 5, 0)
+        range_stop = min(max(self.page_number() + 5, 10), len(pages))
+        _page_range = []
         for page, b_start in pages[range_start:range_stop]:
-            page_range.append({'number':page, 
+            _page_range.append({'number':page, 
             'url':batch_query % (url, b_start)})
-        return page_range
+        return _page_range
 
     @memoize
     def page_count(self):
         """Count total number of pages in the batch"""
         batch_obj = self._getBatchObj()
         count = (batch_obj.sequence_length - 1) / self._BATCH_SIZE + 1
-        return count or 1
+        return count
 
     @memoize
-    def current_page(self):
+    def page_number(self):
         """Get the number of the current page in the batch"""
-        return self._getBatchStart() / (self._BATCH_SIZE + 1)
+        return (self._getBatchStart() / self._BATCH_SIZE) + 1
 
     @memoize
     def summary_length(self):

Modified: Products.CMFDefault/branches/charlie_formlib_for_folders/Products/CMFDefault/browser/templates/batch_widgets.pt
===================================================================
--- Products.CMFDefault/branches/charlie_formlib_for_folders/Products/CMFDefault/browser/templates/batch_widgets.pt	2009-08-10 17:48:12 UTC (rev 102632)
+++ Products.CMFDefault/branches/charlie_formlib_for_folders/Products/CMFDefault/browser/templates/batch_widgets.pt	2009-08-10 18:23:10 UTC (rev 102633)
@@ -51,13 +51,14 @@
 ></metal:macro>
 
 <metal:macro metal:define-macro="pagination"
-  tal:define="current_page view/current_page;
+  tal:define="current_page view/page_number;
               prev_info view/navigation_previous;
               next_info view/navigation_next">
 	<a href="" 
 	   tal:condition="prev_info"
 		 tal:attributes="href prev_info/url">&lt;&lt;</a>
-	<tal:repeat repeat="page view/page_range">
+  <tal:repeat condition="python: prev_info or next_info"
+                        repeat="page view/page_range">
 		<a tal:condition="python: not page['number'] == current_page" 
 		  tal:attributes="href page/url"
 		  tal:content="page/number">Page number</a>

Modified: Products.CMFDefault/branches/charlie_formlib_for_folders/Products/CMFDefault/browser/tests/test_new_folder.py
===================================================================
--- Products.CMFDefault/branches/charlie_formlib_for_folders/Products/CMFDefault/browser/tests/test_new_folder.py	2009-08-10 17:48:12 UTC (rev 102632)
+++ Products.CMFDefault/branches/charlie_formlib_for_folders/Products/CMFDefault/browser/tests/test_new_folder.py	2009-08-10 18:23:10 UTC (rev 102633)
@@ -162,10 +162,10 @@
             content_id = "Dummy%s" % i
             self._make_one(content_id)
         request = TestRequest(ACTUAL_URL='http://foo.com/bar')
-        request.form = {'b_start':batch_size * 15}
+        request.form = {'b_start':batch_size * 14}
         view = ContentsView(self.folder, request)
-        self.assertEquals(view.page_range()[0]['number'], 10)
-        self.assertEquals(view.page_range()[-1]['number'], 19)
+        self.assertEquals(view.page_range()[0]['number'], 11)
+        self.assertEquals(view.page_range()[-1]['number'], 20)
         
 
 def test_suite():



More information about the Checkins mailing list