131 if self.start_param in params: |
131 if self.start_param in params: |
132 del params[self.start_param] |
132 del params[self.start_param] |
133 if self.stop_param in params: |
133 if self.stop_param in params: |
134 del params[self.stop_param] |
134 del params[self.stop_param] |
135 |
135 |
136 def page_url(self, path, params, start, stop): |
136 def page_url(self, path, params, start=None, stop=None): |
137 params = dict(params) |
137 params = dict(params) |
138 params.update({self.start_param : start, |
138 if start is not None: |
139 self.stop_param : stop,}) |
139 params[self.start_param] = start |
|
140 if stop is not None: |
|
141 params[self.stop_param] = stop |
140 view = self.cw_extra_kwargs.get('view') |
142 view = self.cw_extra_kwargs.get('view') |
141 if view is not None and hasattr(view, 'page_navigation_url'): |
143 if view is not None and hasattr(view, 'page_navigation_url'): |
142 url = view.page_navigation_url(self, path, params) |
144 url = view.page_navigation_url(self, path, params) |
143 elif path == 'json': |
145 elif path == 'json': |
144 rql = params.pop('rql', self.cw_rset.printable_rql()) |
146 rql = params.pop('rql', self.cw_rset.printable_rql()) |
145 # latest 'true' used for 'swap' mode |
147 # latest 'true' used for 'swap' mode |
146 url = 'javascript: replacePageChunk(%s, %s, %s, %s, true)' % ( |
148 url = 'javascript: replacePageChunk(%s, %s, %s, %s, true)' % ( |
147 json.dumps(params.get('divid', 'pageContent')), |
149 json.dumps(params.get('divid', 'pageContent')), |
148 json.dumps(rql), json.dumps(params.pop('vid', None)), json.dumps(params)) |
150 json.dumps(rql), json.dumps(params.pop('vid', None)), |
|
151 json.dumps(params)) |
149 else: |
152 else: |
150 url = self._cw.build_url(path, **params) |
153 url = self._cw.build_url(path, **params) |
151 return url |
154 return url |
152 |
155 |
153 def page_link(self, path, params, start, stop, content): |
156 def page_link(self, path, params, start, stop, content): |