web/views/timeline.py
branch3.0
changeset 431 18b4dd650ef8
parent 0 b97547f5f1fa
child 692 800592b8d39b
equal deleted inserted replaced
430:6fbc0ab79a2d 431:18b4dd650ef8
    12 
    12 
    13 from logilab.mtconverter import html_escape
    13 from logilab.mtconverter import html_escape
    14 
    14 
    15 from cubicweb.interfaces import ICalendarable
    15 from cubicweb.interfaces import ICalendarable
    16 from cubicweb.common.view import EntityView, StartupView
    16 from cubicweb.common.view import EntityView, StartupView
    17 from cubicweb.common.selectors import interface_selector
    17 from cubicweb.common.selectors import implement_interface
    18 
    18 
    19 
    19 
    20 # 
    20 # 
    21 class TimelineJsonView(EntityView):
    21 class TimelineJsonView(EntityView):
    22     """generates a json file to feed Timeline.loadJSON()
    22     """generates a json file to feed Timeline.loadJSON()
    26     id = 'timeline-json'
    26     id = 'timeline-json'
    27     binary = True
    27     binary = True
    28     templatable = False
    28     templatable = False
    29     content_type = 'application/json'
    29     content_type = 'application/json'
    30 
    30 
    31     __selectors__ = (interface_selector,)
    31     __selectors__ = (implement_interface,)
    32     accepts_interfaces = (ICalendarable,)
    32     accepts_interfaces = (ICalendarable,)
    33     date_fmt = '%Y/%m/%d'
    33     date_fmt = '%Y/%m/%d'
    34     
    34     
    35     def call(self):
    35     def call(self):
    36         events = []
    36         events = []
   101 
   101 
   102 
   102 
   103 class TimelineView(TimelineViewMixIn, EntityView):
   103 class TimelineView(TimelineViewMixIn, EntityView):
   104     """builds a cubicweb timeline widget node"""
   104     """builds a cubicweb timeline widget node"""
   105     id = 'timeline'
   105     id = 'timeline'
   106     __selectors__ = (interface_selector,)
   106     __selectors__ = (implement_interface,)
   107     accepts_interfaces = (ICalendarable,)
   107     accepts_interfaces = (ICalendarable,)
   108     need_navigation = False
   108     need_navigation = False
   109     def call(self, tlunit=None):
   109     def call(self, tlunit=None):
   110         self.req.html_headers.define_var('Timeline_urlPrefix', self.req.datadir_url)
   110         self.req.html_headers.define_var('Timeline_urlPrefix', self.req.datadir_url)
   111         rql = self.rset.printable_rql()
   111         rql = self.rset.printable_rql()