[Erp5-report] r32800 nicolas - /erp5/trunk/products/ERP5Form/Form.py
nobody at svn.erp5.org
nobody at svn.erp5.org
Thu Feb 18 17:22:11 CET 2010
Author: nicolas
Date: Thu Feb 18 17:22:10 2010
New Revision: 32800
URL: http://svn.erp5.org?rev=32800&view=rev
Log:
* Try to get a REQUEST if ommited
* Enable request introspection in Unit test environment
eg. getattr doesn't work on dummy request
Modified:
erp5/trunk/products/ERP5Form/Form.py
Modified: erp5/trunk/products/ERP5Form/Form.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5Form/Form.py?rev=32800&r1=32799&r2=32800&view=diff
==============================================================================
--- erp5/trunk/products/ERP5Form/Form.py [utf8] (original)
+++ erp5/trunk/products/ERP5Form/Form.py [utf8] Thu Feb 18 17:22:10 2010
@@ -144,7 +144,7 @@
self.tales_expr = tales_expr
def __call__(self, field, id, **kw):
- REQUEST = get_request()
+ REQUEST = kw.get('REQUEST', get_request())
if REQUEST is not None:
# Proxyfield stores the "real" field in the request. Look if the
# corresponding field exists in request, and use it as field in the
@@ -235,7 +235,7 @@
value = ob.getProperty(self.key)
except Unauthorized:
value = ob.getProperty(self.key, d=value, checked_permission='View')
- REQUEST = get_request()
+ REQUEST = kw.get('REQUEST', get_request())
if REQUEST is not None:
REQUEST.set('read_only_%s' % self.key, 1)
except (KeyError, AttributeError):
@@ -252,7 +252,7 @@
value = ob.getProperty(self.key)
except Unauthorized:
value = ob.getProperty(self.key, d=value, checked_permission='View')
- REQUEST = get_request()
+ REQUEST = kw.get('REQUEST', get_request())
if REQUEST is not None:
REQUEST.set('read_only_%s' % self.key, 1)
except (KeyError, AttributeError):
@@ -269,8 +269,9 @@
# This is useful to render ERP5 content as in a web site (ECommerce)
# editable_mode should be set for example by the page template
# which defines the current layout
- if kw.get('REQUEST', None) is not None:
- if not getattr(kw['REQUEST'], 'editable_mode', 1):
+ REQUEST = kw.get('REQUEST', get_request())
+ if REQUEST is not None:
+ if not REQUEST.get('editable_mode', 1):
return 0
return self.value
@@ -318,7 +319,7 @@
return return_value, isCacheable(return_value)
def get_value(self, id, **kw):
- REQUEST = get_request()
+ REQUEST = kw.get('REQUEST', get_request())
if REQUEST is not None:
field = REQUEST.get(
'field__proxyfield_%s_%s_%s' % (self.id, self._p_oid, id),
More information about the Erp5-report
mailing list