[Erp5-report] r15168 - in /erp5/trunk/products/ERP5Type: Base.py Utils.py
nobody at svn.erp5.org
nobody at svn.erp5.org
Mon Jul 9 10:48:54 CEST 2007
Author: vincent
Date: Mon Jul 9 10:48:53 2007
New Revision: 15168
URL: http://svn.erp5.org?rev=15168&view=rev
Log:
Prevent UIDs from being generated on temp objects by overriding the getUid accessor. Provide the Id as a fallback.
Modified:
erp5/trunk/products/ERP5Type/Base.py
erp5/trunk/products/ERP5Type/Utils.py
Modified: erp5/trunk/products/ERP5Type/Base.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5Type/Base.py?rev=15168&r1=15167&r2=15168&view=diff
==============================================================================
--- erp5/trunk/products/ERP5Type/Base.py (original)
+++ erp5/trunk/products/ERP5Type/Base.py Mon Jul 9 10:48:53 2007
@@ -2463,6 +2463,14 @@
def _temp_setUid(self, value):
self.uid = value # Required for Listbox so that no casting happens when we use TempBase to create new objects
+ def _temp_getUid(self):
+ try:
+ return getattr(aq_base(self), 'uid')
+ except AttributeError:
+ value = self.getId()
+ self.setUid(value)
+ return value
+
def _temp_setTitle(self, value):
"""
Required so that getProperty('title') will work on tempBase objects
Modified: erp5/trunk/products/ERP5Type/Utils.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5Type/Utils.py?rev=15168&r1=15167&r2=15168&view=diff
==============================================================================
--- erp5/trunk/products/ERP5Type/Utils.py (original)
+++ erp5/trunk/products/ERP5Type/Utils.py Mon Jul 9 10:48:53 2007
@@ -355,13 +355,13 @@
# Replace some attributes.
for name in ('isIndexable', 'reindexObject', 'recursiveReindexObject',
- 'activate', 'setUid', 'setTitle', 'getTitle'):
+ 'activate', 'setUid', 'setTitle', 'getTitle', 'getUid'):
setattr(TempDocument, name, getattr(klass, '_temp_%s' % name))
# Make some methods public.
for method_id in ('reindexObject', 'recursiveReindexObject',
'activate', 'setUid', 'setTitle', 'getTitle',
- 'edit', 'setProperty'):
+ 'edit', 'setProperty', 'getUid'):
setattr(TempDocument, '%s__roles__' % method_id, None)
self.klass = TempDocument
More information about the Erp5-report
mailing list