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 |