view.py
changeset 2234 1fbcf202882d
parent 2217 3a8cee8f8778
child 2312 af4d8f75c5db
--- a/view.py	Mon Jun 29 14:12:18 2009 +0200
+++ b/view.py	Thu Jul 02 10:35:03 2009 +0200
@@ -19,7 +19,7 @@
 from cubicweb.selectors import require_group_compat, accepts_compat
 from cubicweb.appobject import AppRsetObject
 from cubicweb.utils import UStringIO, HTMLStream
-
+from cubicweb.schema import display_name
 
 # robots control
 NOINDEX = u'<meta name="ROBOTS" content="NOINDEX" />'
@@ -369,20 +369,20 @@
 
     category = 'anyrsetview'
 
-    def columns_labels(self, tr=True):
+    def columns_labels(self, mainindex=0, tr=True):
         if tr:
-            translate = display_name
+            translate = lambda val, req=self.req: display_name(req, val)
         else:
-            translate = lambda req, val: val
-        rqlstdescr = self.rset.syntax_tree().get_description()[0] # XXX missing Union support
+            translate = lambda val: val
+        # XXX [0] because of missing Union support
+        rqlstdescr = self.rset.syntax_tree().get_description(mainindex,
+                                                             translate)[0]
         labels = []
-        for colindex, attr in enumerate(rqlstdescr):
+        for colindex, label in enumerate(rqlstdescr):
             # compute column header
-            if colindex == 0 or attr == 'Any': # find a better label
-                label = ','.join(translate(self.req, et)
+            if label == 'Any': # find a better label
+                label = ','.join(translate(et)
                                  for et in self.rset.column_types(colindex))
-            else:
-                label = translate(self.req, attr)
             labels.append(label)
         return labels