web/component.py
branchstable
changeset 2312 af4d8f75c5db
parent 2259 5d90bd26af8b
child 2381 caad2367d940
equal deleted inserted replaced
2311:f178182b1305 2312:af4d8f75c5db
     7 """
     7 """
     8 __docformat__ = "restructuredtext en"
     8 __docformat__ = "restructuredtext en"
     9 _ = unicode
     9 _ = unicode
    10 
    10 
    11 from logilab.common.deprecation import class_renamed
    11 from logilab.common.deprecation import class_renamed
    12 from logilab.mtconverter import html_escape
    12 from logilab.mtconverter import xml_escape
    13 
    13 
    14 from cubicweb import role
    14 from cubicweb import role
    15 from cubicweb.utils import merge_dicts
    15 from cubicweb.utils import merge_dicts
    16 from cubicweb.view import View, Component
    16 from cubicweb.view import View, Component
    17 from cubicweb.selectors import (
    17 from cubicweb.selectors import (
   115             del params[self.stop_param]
   115             del params[self.stop_param]
   116 
   116 
   117     def page_link(self, path, params, start, stop, content):
   117     def page_link(self, path, params, start, stop, content):
   118         url = self.build_url(path, **merge_dicts(params, {self.start_param : start,
   118         url = self.build_url(path, **merge_dicts(params, {self.start_param : start,
   119                                                           self.stop_param : stop,}))
   119                                                           self.stop_param : stop,}))
   120         url = html_escape(url)
   120         url = xml_escape(url)
   121         if start == self.starting_from:
   121         if start == self.starting_from:
   122             return self.selected_page_link_templ % (url, content, content)
   122             return self.selected_page_link_templ % (url, content, content)
   123         return self.page_link_templ % (url, content, content)
   123         return self.page_link_templ % (url, content, content)
   124 
   124 
   125     def previous_link(self, params, content='<<', title=_('previous_results')):
   125     def previous_link(self, params, content='<<', title=_('previous_results')):
   128             return self.no_previous_page_link
   128             return self.no_previous_page_link
   129         start = max(0, start - self.page_size)
   129         start = max(0, start - self.page_size)
   130         stop = start + self.page_size - 1
   130         stop = start + self.page_size - 1
   131         url = self.build_url(**merge_dicts(params, {self.start_param : start,
   131         url = self.build_url(**merge_dicts(params, {self.start_param : start,
   132                                                     self.stop_param : stop,}))
   132                                                     self.stop_param : stop,}))
   133         url = html_escape(url)
   133         url = xml_escape(url)
   134         return self.previous_page_link_templ % (url, title, content)
   134         return self.previous_page_link_templ % (url, title, content)
   135 
   135 
   136     def next_link(self, params, content='>>', title=_('next_results')):
   136     def next_link(self, params, content='>>', title=_('next_results')):
   137         start = self.starting_from + self.page_size
   137         start = self.starting_from + self.page_size
   138         if start >= self.total:
   138         if start >= self.total:
   139             return self.no_next_page_link
   139             return self.no_next_page_link
   140         stop = start + self.page_size - 1
   140         stop = start + self.page_size - 1
   141         url = self.build_url(**merge_dicts(params, {self.start_param : start,
   141         url = self.build_url(**merge_dicts(params, {self.start_param : start,
   142                                                     self.stop_param : stop,}))
   142                                                     self.stop_param : stop,}))
   143         url = html_escape(url)
   143         url = xml_escape(url)
   144         return self.next_page_link_templ % (url, title, content)
   144         return self.next_page_link_templ % (url, title, content)
   145 
   145 
   146 
   146 
   147 class RelatedObjectsVComponent(EntityVComponent):
   147 class RelatedObjectsVComponent(EntityVComponent):
   148     """a section to display some related entities"""
   148     """a section to display some related entities"""