[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