[Erp5-report] r35410 yo - /erp5/trunk/products/ERP5/Document/RoundingModel.py

nobody at svn.erp5.org nobody at svn.erp5.org
Tue May 18 09:00:53 CEST 2010


Author: yo
Date: Tue May 18 09:00:51 2010
New Revision: 35410

URL: http://svn.erp5.org?rev=35410&view=rev
Log:
Make sure that rounding proxies can work correctly with ListBox (XXX need to write a test).

Modified:
    erp5/trunk/products/ERP5/Document/RoundingModel.py

Modified: erp5/trunk/products/ERP5/Document/RoundingModel.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/Document/RoundingModel.py?rev=35410&r1=35409&r2=35410&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/Document/RoundingModel.py [utf8] (original)
+++ erp5/trunk/products/ERP5/Document/RoundingModel.py [utf8] Tue May 18 09:00:51 2010
@@ -29,7 +29,7 @@
 from Products.ERP5Type import PropertySheet, Permissions
 from Products.ERP5.Document.Predicate import Predicate
 from Products.ERP5Type.Utils import UpperCase
-
+import ExtensionClass
 
 class RoundingModel(Predicate):
   """
@@ -153,6 +153,11 @@
         else:
           return result
 
+      # XXX not sure why but getObject may return original_document
+      # unless it is overridden here.
+      def getObject(self, *args, **kw):
+        return self
+
       def __getattr__(self, name):
         attribute = getattr(original_document, name)
         if getattr(attribute, 'DUMMY_ROUNDING_METHOD_MARK', None) is DUMMY_ROUNDING_METHOD_MARK:
@@ -168,7 +173,9 @@
 
 DUMMY_ROUNDING_METHOD_MARK = object()
 
-class RoundingProxy(object):
+# Use the Extension Class only because it is necessary to allow an instance
+# of this class to be wrapped in an acquisition wrapper.
+class RoundingProxy(ExtensionClass.Base):
   """Super class of _RoundingProxy class defined above. Use this class for
   isinstance method to check if object is a real instance or a rounding proxy
   instance.




More information about the Erp5-report mailing list