5 :contact: http://www.logilab.fr/ -- mailto:contact@logilab.fr |
5 :contact: http://www.logilab.fr/ -- mailto:contact@logilab.fr |
6 :license: GNU Lesser General Public License, v2.1 - http://www.gnu.org/licenses |
6 :license: GNU Lesser General Public License, v2.1 - http://www.gnu.org/licenses |
7 """ |
7 """ |
8 __docformat__ = "restructuredtext en" |
8 __docformat__ = "restructuredtext en" |
9 _ = unicode |
9 _ = unicode |
|
10 |
|
11 from simplejson import dumps |
10 |
12 |
11 from logilab.common.deprecation import class_renamed |
13 from logilab.common.deprecation import class_renamed |
12 from logilab.mtconverter import xml_escape |
14 from logilab.mtconverter import xml_escape |
13 |
15 |
14 from cubicweb import role |
16 from cubicweb import role |
111 if self.start_param in params: |
113 if self.start_param in params: |
112 del params[self.start_param] |
114 del params[self.start_param] |
113 if self.stop_param in params: |
115 if self.stop_param in params: |
114 del params[self.stop_param] |
116 del params[self.stop_param] |
115 |
117 |
|
118 def page_url(self, path, params, start, stop): |
|
119 params = merge_dicts(params, {self.start_param : start, |
|
120 self.stop_param : stop,}) |
|
121 if path == 'json': |
|
122 rql = params.pop('rql', self.rset.printable_rql()) |
|
123 # latest 'true' used for 'swap' mode |
|
124 url = 'javascript: replacePageChunk(%s, %s, %s, %s, true)' % ( |
|
125 dumps(params.get('divid', 'paginated-content')), |
|
126 dumps(rql), dumps(params.pop('vid', None)), dumps(params)) |
|
127 else: |
|
128 url = self.build_url(path, **params) |
|
129 return url |
|
130 |
116 def page_link(self, path, params, start, stop, content): |
131 def page_link(self, path, params, start, stop, content): |
117 url = self.build_url(path, **merge_dicts(params, {self.start_param : start, |
132 url = xml_escape(self.page_url(path, params, start, stop)) |
118 self.stop_param : stop,})) |
|
119 url = xml_escape(url) |
|
120 if start == self.starting_from: |
133 if start == self.starting_from: |
121 return self.selected_page_link_templ % (url, content, content) |
134 return self.selected_page_link_templ % (url, content, content) |
122 return self.page_link_templ % (url, content, content) |
135 return self.page_link_templ % (url, content, content) |
123 |
136 |
124 def previous_link(self, params, content='<<', title=_('previous_results')): |
137 def previous_link(self, params, content='<<', title=_('previous_results')): |