[Erp5-report] r20009 - /experimental/Experimental/patches/ERP5Form_ListBox_line_marking.py

nobody at svn.erp5.org nobody at svn.erp5.org
Tue Mar 18 21:56:43 CET 2008


Author: bartek
Date: Tue Mar 18 21:56:43 2008
New Revision: 20009

URL: http://svn.erp5.org?rev=20009&view=rev
Log:
translate column names in boxover

Modified:
    experimental/Experimental/patches/ERP5Form_ListBox_line_marking.py

Modified: experimental/Experimental/patches/ERP5Form_ListBox_line_marking.py
URL: http://svn.erp5.org/experimental/Experimental/patches/ERP5Form_ListBox_line_marking.py?rev=20009&r1=20008&r2=20009&view=diff
==============================================================================
--- experimental/Experimental/patches/ERP5Form_ListBox_line_marking.py (original)
+++ experimental/Experimental/patches/ERP5Form_ListBox_line_marking.py Tue Mar 18 21:56:43 2008
@@ -64,6 +64,7 @@
      
 from Products.Formulator.DummyField import fields
 from Products.ERP5Form.ListBox import lazyMethod
+from Products.CMFCore.utils import getToolByName
 
 from zLOG import LOG, INFO
 
@@ -164,6 +165,7 @@
       max_lines = self.getMaxLineNumber()
       report_section_list = self.getReportSectionList()
       param_dict = self.getParamDict()
+      translation_service = getToolByName(self.getContext(), 'Localizer', None) # for boxover labels which are translated here
 
       # Set the total number of objects.
       self.total_size = sum([s.object_list_len for s in report_section_list])
@@ -216,7 +218,7 @@
           else:
             marking_css = ''
 
-          boxover = self.renderBoxover(current_section.object_list[offset].getObject())
+          boxover = self.renderBoxover(current_section.object_list[offset].getObject(), translation_service)
 
           #LOG('ListBox', 0, 'current_section.__dict__ = %r' % (current_section.__dict__,))
           line = line_class(renderer = self,
@@ -240,9 +242,12 @@
 ListBoxRenderer.query = ListBoxRenderer_query
 
 
-def ListBoxRenderer_renderBoxover(self, ob):
+def ListBoxRenderer_renderBoxover(self, ob, translation_service):
   # render title to generate a boxover for the line
   def renderBoxoverLine(line):
+    # XXX should the rendering and translation be moved to ListBox_asHTML?
+    # translate column label
+    label = translation_service.translate('ui', line[1]).encode('utf8')
     # get data in a similar way to normal listbox cells
     _marker = []
     prop = ob.getProperty(line[0], _marker)
@@ -257,7 +262,7 @@
       except (AttributeError, KeyError, Unauthorized):
         prop = 'N/A'
     if prop is None: prop = ''
-    return '<b>%s: </b>%s' % (line[1], prop)
+    return '<b>%s: </b>%s' % (label, prop)
   data = {}
   boxover_method = self.getBoxoverMethod()
   # if there is a method (script) we use this




More information about the Erp5-report mailing list