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

nobody at svn.erp5.org nobody at svn.erp5.org
Tue Mar 18 22:11:43 CET 2008


Author: bartek
Date: Tue Mar 18 22:11:43 2008
New Revision: 20010

URL: http://svn.erp5.org?rev=20010&view=rev
Log:
a bit crude and copy-and-paste support for editable fields 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=20010&r1=20009&r2=20010&view=diff
==============================================================================
--- experimental/Experimental/patches/ERP5Form_ListBox_line_marking.py (original)
+++ experimental/Experimental/patches/ERP5Form_ListBox_line_marking.py Tue Mar 18 22:11:43 2008
@@ -249,18 +249,25 @@
     # 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)
-    if prop is _marker:
-      try:
-        prop = getattr(ob, line[0])
-      except AttributeError:
-        prop = ''
-    if callable(prop):
-      try:
-        prop = prop()
-      except (AttributeError, KeyError, Unauthorized):
-        prop = 'N/A'
+    # XXX should be improved and refactored so as to remove code duplication
+    editable_field = self.getEditableField(line[0])
+    if editable_field is not None:
+      tales = editable_field.tales.get('default', '')
+      if tales:
+        prop = editable_field.__of__(ob).get_value('default', cell=ob)
+    else:
+      _marker = []
+      prop = ob.getProperty(line[0], _marker)
+      if prop is _marker:
+        try:
+          prop = getattr(ob, line[0])
+        except AttributeError:
+          prop = ''
+      if callable(prop):
+        try:
+          prop = prop()
+        except (AttributeError, KeyError, Unauthorized):
+          prop = 'N/A'
     if prop is None: prop = ''
     return '<b>%s: </b>%s' % (label, prop)
   data = {}




More information about the Erp5-report mailing list