[Erp5-report] r33594 kazuhiko - /erp5/trunk/products/ERP5/Document/

nobody at svn.erp5.org nobody at svn.erp5.org
Wed Mar 10 18:57:14 CET 2010


Author: kazuhiko
Date: Wed Mar 10 18:57:11 2010
New Revision: 33594

URL: http://svn.erp5.org?rev=33594&view=rev
Log:
directly call getter instead of using Base.getProperty() because getProperty() does not work well for acquired property (eg. payment_condition_efficiency) to acquire values from parent.

Modified:
    erp5/trunk/products/ERP5/Document/ParentDeliveryCategoryMovementGroup.py
    erp5/trunk/products/ERP5/Document/ParentDeliveryPropertyMovementGroup.py

Modified: erp5/trunk/products/ERP5/Document/ParentDeliveryCategoryMovementGroup.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/Document/ParentDeliveryCategoryMovementGroup.py?rev=33594&r1=33593&r2=33594&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/Document/ParentDeliveryCategoryMovementGroup.py [utf8] (original)
+++ erp5/trunk/products/ERP5/Document/ParentDeliveryCategoryMovementGroup.py [utf8] Wed Mar 10 18:57:11 2010
@@ -45,8 +45,9 @@
     parent_delivery = self._getParentDelivery(movement)
     if parent_delivery is not None:
       for prop in self.getTestedPropertyList():
-        property_dict['_%s_list' % prop] = sorted(
-          movement.getPropertyList(prop))
+        list_prop = '_%s_list' % prop
+        property_dict[list_prop] = sorted(
+          self._getProperty(movement, list_prop, []))
     return property_dict
 
   def test(self, document, property_dict, property_list=None, **kw):
@@ -56,7 +57,8 @@
     else:
       target_property_list = self.getTestedPropertyList()
     for prop in target_property_list:
-      if property_dict['_%s_list' % prop] != \
-             sorted(document.getPropertyList(prop, None)):
+      list_prop = '_%s_list' % prop
+      if property_dict[list_prop] != \
+             sorted(self._getProperty(document, list_prop, [])):
         return False, property_dict
     return True, property_dict

Modified: erp5/trunk/products/ERP5/Document/ParentDeliveryPropertyMovementGroup.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/Document/ParentDeliveryPropertyMovementGroup.py?rev=33594&r1=33593&r2=33594&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/Document/ParentDeliveryPropertyMovementGroup.py [utf8] (original)
+++ erp5/trunk/products/ERP5/Document/ParentDeliveryPropertyMovementGroup.py [utf8] Wed Mar 10 18:57:11 2010
@@ -26,6 +26,9 @@
 ##############################################################################
 
 from Products.ERP5.Document.PropertyMovementGroup import PropertyMovementGroup
+from Products.ERP5Type.Utils import UpperCase
+
+_MARKER = []
 
 class ParentDeliveryPropertyMovementGroup(PropertyMovementGroup):
   """
@@ -44,7 +47,7 @@
     parent_delivery = self._getParentDelivery(movement)
     if parent_delivery is not None:
       for prop in self.getTestedPropertyList():
-        property_dict['_%s' % prop] = parent_delivery.getProperty(prop, None)
+        property_dict['_%s' % prop] = self._getProperty(parent_delivery, prop, None)
     return property_dict
 
   def test(self, document, property_dict, property_list=None, **kw):
@@ -54,7 +57,7 @@
     else:
       target_property_list = self.getTestedPropertyList()
     for prop in target_property_list:
-      if property_dict['_%s' % prop] != document.getProperty(prop, None):
+      if property_dict['_%s' % prop] != self._getProperty(document, prop, None):
         return False, property_dict
     return True, property_dict
 
@@ -68,3 +71,10 @@
       movement = rule.getParentValue()
       delivery = movement.getDeliveryValue()
     return delivery
+
+  def _getProperty(self, document, property_id, d=_MARKER):
+    # XXX here we don't use Base.getProperty() but try to call accessor
+    # directly to make acquired property
+    # (eg. payment_condition_efficiency) working.
+    accessor_name = 'get' + UpperCase(property_id)
+    return getattr(document, accessor_name)(d)




More information about the Erp5-report mailing list