view.py
branchstable
changeset 2203 efdd3a9f9028
parent 1999 b9a8f5995658
child 2207 5fad58e603f4
equal deleted inserted replaced
2202:cb374512949f 2203:efdd3a9f9028
   367     """base class for views applying on any non empty result sets"""
   367     """base class for views applying on any non empty result sets"""
   368     __select__ = nonempty_rset()
   368     __select__ = nonempty_rset()
   369 
   369 
   370     category = 'anyrsetview'
   370     category = 'anyrsetview'
   371 
   371 
   372     def columns_labels(self, tr=True):
   372     def columns_labels(self, mainindex=0, tr=True):
   373         if tr:
   373         if tr:
   374             translate = display_name
   374             translate = display_name
   375         else:
   375         else:
   376             translate = lambda req, val: val
   376             translate = lambda req, val: val
   377         rqlstdescr = self.rset.syntax_tree().get_description()[0] # XXX missing Union support
   377         # XXX [0] because of missing Union support
       
   378         rqlstdescr = self.rset.syntax_tree().get_description(mainindex,
       
   379                                                              translate)[0]
   378         labels = []
   380         labels = []
   379         for colindex, attr in enumerate(rqlstdescr):
   381         for colindex, label in enumerate(rqlstdescr):
   380             # compute column header
   382             # compute column header
   381             if colindex == 0 or attr == 'Any': # find a better label
   383             if label == 'Any': # find a better label
   382                 label = ','.join(translate(self.req, et)
   384                 label = ','.join(translate(self.req, et)
   383                                  for et in self.rset.column_types(colindex))
   385                                  for et in self.rset.column_types(colindex))
   384             else:
       
   385                 label = translate(self.req, attr)
       
   386             labels.append(label)
   386             labels.append(label)
   387         return labels
   387         return labels
   388 
   388 
   389 
   389 
   390 # concrete template base classes ##############################################
   390 # concrete template base classes ##############################################