web/views/tabs.py
changeset 1379 6c6dbc0df829
parent 1112 3cfc208e385b
child 1477 b056a49c16dc
equal deleted inserted replaced
1378:3645800647ef 1379:6c6dbc0df829
    94             except NoSelectableObject:
    94             except NoSelectableObject:
    95                 continue
    95                 continue
    96         return selected_tabs
    96         return selected_tabs
    97 
    97 
    98     def render_tabs(self, tabs, default, entity):
    98     def render_tabs(self, tabs, default, entity):
       
    99         # tabbed views do no support concatenation
       
   100         # hence we delegate to the default tab if there is more than on entity
       
   101         # in the result set
       
   102         if len(self.rset) > 1:
       
   103             entity.view(default, w=self.w)
       
   104             return
       
   105         # XXX (syt) fix below add been introduced at some point to fix something
       
   106         # (http://intranet.logilab.fr/jpl/ticket/32174 ?) but this is not a clean
       
   107         # way. We must not consider form['rql'] here since it introduces some
       
   108         # other failures on non rql queries (plain text, shortcuts,... handled by
       
   109         # magicsearch) which has a single result whose primary view is using tabs
       
   110         # (https://www.logilab.net/cwo/ticket/342789)
       
   111         #rql = self.req.form.get('rql')
       
   112         #if rql:
       
   113         #    self.req.execute(rql).get_entity(0,0).view(default, w=self.w)
       
   114         #    return
    99         self.req.add_css('ui.tabs.css')
   115         self.req.add_css('ui.tabs.css')
   100         self.req.add_js(('ui.core.js', 'ui.tabs.js',
   116         self.req.add_js(('ui.core.js', 'ui.tabs.js',
   101                          'cubicweb.ajax.js', 'cubicweb.tabs.js', 'cubicweb.lazy.js'))
   117                          'cubicweb.ajax.js', 'cubicweb.tabs.js', 'cubicweb.lazy.js'))
   102         # tabbed views do no support concatenation
       
   103         # hence we delegate to the default tab
       
   104         form = self.req.form
       
   105         if form.get('vid') == 'primary':
       
   106             entity.view(default, w=self.w)
       
   107             return
       
   108         rql = form.get('rql')
       
   109         if rql:
       
   110             self.req.execute(rql).get_entity(0,0).view(default, w=self.w)
       
   111             return
       
   112         # prune tabs : not all are to be shown
   118         # prune tabs : not all are to be shown
   113         tabs = self.prune_tabs(tabs)
   119         tabs = self.prune_tabs(tabs)
   114         # select a tab
   120         # select a tab
   115         active_tab = self.active_tab(tabs, default)
   121         active_tab = self.active_tab(tabs, default)
   116         # build the html structure
   122         # build the html structure