common/view.py
changeset 369 c8a6edc224bb
parent 361 5cd8bc047b52
child 370 7e76f651314b
equal deleted inserted replaced
368:84a5106840fa 369:c8a6edc224bb
   381     """base class for views applying on any non empty result sets"""
   381     """base class for views applying on any non empty result sets"""
   382     __registerer__ = priority_registerer
   382     __registerer__ = priority_registerer
   383     __selectors__ = (nonempty_rset,)
   383     __selectors__ = (nonempty_rset,)
   384     
   384     
   385     category = 'anyrsetview'
   385     category = 'anyrsetview'
       
   386 
       
   387     def display_value(self, etype, val):
       
   388         if val is not None and not self.schema.eschema(etype).is_final():
       
   389             # csvrow.append(val) # val is eid in that case
       
   390             return self.view('textincontext', self.rset, 
       
   391                              row=rowindex, col=colindex)
       
   392         return self.view('final', self.rset, displaytime=True,
       
   393                          row=rowindex, col=colindex)
       
   394     
       
   395     def columns_labels(self):
       
   396         rqlstdescr = self.rset.syntax_tree().get_description()[0] # XXX missing Union support
       
   397         labels = []
       
   398         for colindex, attr in enumerate(rqlstdescr):
       
   399             # compute column header
       
   400             if colindex == 0 or attr == 'Any': # find a better label
       
   401                 label = ','.join(display_name(self.req, et)
       
   402                                  for et in self.rset.column_types(colindex))
       
   403             else:
       
   404                 label = display_name(self.req, attr)
       
   405             labels.append(label)
       
   406         return labels
   386     
   407     
   387 
   408 
   388 class EmptyRsetView(View):
   409 class EmptyRsetView(View):
   389     """base class for views applying on any empty result sets"""
   410     """base class for views applying on any empty result sets"""
   390     __registerer__ = priority_registerer
   411     __registerer__ = priority_registerer