[Erp5-report] r31206 kazuhiko - /erp5/trunk/products/ERP5/mixin/rule.py

nobody at svn.erp5.org nobody at svn.erp5.org
Wed Dec 9 18:41:04 CET 2009


Author: kazuhiko
Date: Wed Dec  9 18:41:03 2009
New Revision: 31206

URL: http://svn.erp5.org?rev=31206&view=rev
Log:
partially revert r31126, because exclude_quantity argument can be useful and there is no need to remove it.

Modified:
    erp5/trunk/products/ERP5/mixin/rule.py

Modified: erp5/trunk/products/ERP5/mixin/rule.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/mixin/rule.py?rev=31206&r1=31205&r2=31206&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/mixin/rule.py [utf8] (original)
+++ erp5/trunk/products/ERP5/mixin/rule.py [utf8] Wed Dec  9 18:41:03 2009
@@ -273,14 +273,22 @@
     """
     raise NotImplementedError
 
-  def _getDivergenceTesterList(self):
+  def _getDivergenceTesterList(self, exclude_quantity=True):
     """
     Return the applicable divergence testers which must
     be used to test movement divergence. (ie. not all
     divergence testers of the Rule)
-    """
-    return filter(lambda x:x.isTestingProvider(), self.objectValues(
-      portal_type=self.getPortalDivergenceTesterTypeList()))
+
+     exclude_quantity -- if set to true, do not consider
+                         quantity divergence testers
+     """
+    if exclude_quantity:
+      return filter(lambda x:x.isTestingProvider() and \
+                    x.getTestedProperty() != 'quantity', self.objectValues(
+        portal_type=self.getPortalDivergenceTesterTypeList()))
+    else:
+      return filter(lambda x:x.isTestingProvider(), self.objectValues(
+        portal_type=self.getPortalDivergenceTesterTypeList()))
 
   def _getMatchingTesterList(self):
     """




More information about the Erp5-report mailing list