[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"><<</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