283 'navigation', req, rset=rset, page_size=page_size, view=view) |
283 'navigation', req, rset=rset, page_size=page_size, view=view) |
284 if nav: |
284 if nav: |
285 if w is None: |
285 if w is None: |
286 w = view.w |
286 w = view.w |
287 if req.form.get('__force_display'): |
287 if req.form.get('__force_display'): |
288 # allow to come back to the paginated view |
288 nav.render_link_back_to_pagination(w=w) |
289 params = dict(req.form) |
|
290 basepath = req.relative_path(includeparams=False) |
|
291 del params['__force_display'] |
|
292 url = nav.page_url(basepath, params) |
|
293 w(u'<div class="displayAllLink"><a href="%s">%s</a></div>\n' |
|
294 % (xml_escape(url), req._('back to pagination (%s results)') |
|
295 % nav.page_size)) |
|
296 else: |
289 else: |
297 # get boundaries before component rendering |
290 # get boundaries before component rendering |
298 start, stop = nav.page_boundaries() |
291 start, stop = nav.page_boundaries() |
299 nav.render(w=w) |
292 nav.render(w=w) |
300 params = dict(req.form) |
|
301 nav.clean_params(params) |
|
302 # make a link to see them all |
|
303 if show_all_option: |
293 if show_all_option: |
304 basepath = req.relative_path(includeparams=False) |
294 nav.render_link_display_all(w=w) |
305 params['__force_display'] = 1 |
|
306 params['__fromnavigation'] = 1 |
|
307 url = nav.page_url(basepath, params) |
|
308 w(u'<div class="displayAllLink"><a href="%s">%s</a></div>\n' |
|
309 % (xml_escape(url), req._('show %s results') % len(rset))) |
|
310 rset.limit(offset=start, limit=stop-start, inplace=True) |
295 rset.limit(offset=start, limit=stop-start, inplace=True) |
311 |
296 |
312 |
297 |
313 def paginate(view, show_all_option=True, w=None, page_size=None, rset=None): |
298 def paginate(view, show_all_option=True, w=None, page_size=None, rset=None): |
314 """paginate results if the view is paginable |
299 """paginate results if the view is paginable |