[Erp5-report] r15816 - /erp5/trunk/products/ERP5Form/ListBox.py

nobody at svn.erp5.org nobody at svn.erp5.org
Mon Aug 27 14:41:17 CEST 2007


Author: jp
Date: Mon Aug 27 14:41:17 2007
New Revision: 15816

URL: http://svn.erp5.org?rev=15816&view=rev
Log:
Better support of cell parameter and editable property in listbox embedded fields;

Modified:
    erp5/trunk/products/ERP5Form/ListBox.py

Modified: erp5/trunk/products/ERP5Form/ListBox.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5Form/ListBox.py?rev=15816&r1=15815&r2=15816&view=diff
==============================================================================
--- erp5/trunk/products/ERP5Form/ListBox.py (original)
+++ erp5/trunk/products/ERP5Form/ListBox.py Mon Aug 27 14:41:17 2007
@@ -2059,22 +2059,29 @@
           # the REQUEST into the brain. In addition, the define a
           # cell property on the request itself so that forms may
           # use the 'cell' value (refer to get_value method in Form.py)
-          cell_html = editable_field.render( \
-                            value   = display_value
-                          , REQUEST = brain.asContext( \
-                                               REQUEST = self.renderer.request
-                                             , form    = self.renderer.request.form
-                                             , cell    = self.getObject()
-                                             )
-                          , key     = key
-                          )
+          cell_request = brain.asContext( REQUEST = self.renderer.request
+                                        , form    = self.renderer.request.form
+                                        , cell    = self.getObject()
+                                        )
+          if editable_field.get_value('enabled', REQUEST=cell_request):
+            cell_html = editable_field.render( \
+                              value   = display_value
+                            , REQUEST = cell_request
+                            , key     = key
+                            )
+          else:
+            cell_html = ''
         else:
           # If the brain does not support asContext (eg. it is None), no way
           self.renderer.request.cell = self.getObject()
-          cell_html = editable_field.render( value   = display_value
-                                           , REQUEST = brain
-                                           , key     = key
-                                           )
+          cell_request = brain
+          if editable_field.get_value('enabled', REQUEST=cell_request):
+            cell_html = editable_field.render( value   = display_value
+                                             , REQUEST = cell_request
+                                             , key     = key
+                                             )
+          else:
+            cell_html = ''
 
         if isinstance(cell_html, str):
           cell_html = unicode(cell_html, encoding)
@@ -2082,7 +2089,7 @@
         if url is None:
           html = cell_html + error_message
         else:
-          if editable_field.get_value('editable'):
+          if editable_field.get_value('editable', REQUEST=cell_request):
             html = u'%s' % cell_html
           else:
             html = u'<a href="%s">%s</a>' % (url, cell_html)




More information about the Erp5-report mailing list