[Erp5-report] r23690 - in /erp5/trunk/products/ERP5: ./ Document/

nobody at svn.erp5.org nobody at svn.erp5.org
Thu Sep 18 10:17:42 CEST 2008


Author: kazuhiko
Date: Thu Sep 18 10:17:41 2008
New Revision: 23690

URL: http://svn.erp5.org?rev=23690&view=rev
Log:
port Variation Property Movement Group.

Added:
    erp5/trunk/products/ERP5/Document/VariationPropertyMovementGroup.py
Modified:
    erp5/trunk/products/ERP5/MovementGroup.py

Added: erp5/trunk/products/ERP5/Document/VariationPropertyMovementGroup.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/Document/VariationPropertyMovementGroup.py?rev=23690&view=auto
==============================================================================
--- erp5/trunk/products/ERP5/Document/VariationPropertyMovementGroup.py (added)
+++ erp5/trunk/products/ERP5/Document/VariationPropertyMovementGroup.py Thu Sep 18 10:17:41 2008
@@ -1,0 +1,62 @@
+##############################################################################
+#
+# Copyright (c) 2008 Nexedi SA and Contributors. All Rights Reserved.
+#
+# WARNING: This program as such is intended to be used by professional
+# programmers who take the whole responsibility of assessing all potential
+# consequences resulting from its eventual inadequacies and bugs
+# End users who are looking for a ready-to-use solution with commercial
+# guarantees and support are strongly adviced to contract a Free Software
+# Service Company
+#
+# This program is Free Software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
+#
+##############################################################################
+
+from Products.ERP5.Document.MovementGroup import MovementGroup
+
+class VariationPropertyMovementGroup(MovementGroup):
+  """
+  The purpose of MovementGroup is to define how movements are grouped,
+  and how values are updated from simulation movements.
+
+  This movement group is used to group movements that have the same
+  variation property dict.
+  """
+  meta_type = 'ERP5 Movement Group'
+  portal_type = 'Variation Property Movement Group'
+
+  def _getPropertyDict(self, movement, **kw):
+    return {'variation_property_dict':movement.getVariationPropertyDict()}
+
+  def test(self, object, property_dict, **kw):
+    updatable = False
+    variation_property_dict = object.getVariationPropertyDict()
+    variation_property_list = variation_property_dict.keys()
+    if len(variation_property_list) == \
+           len(property_dict['variation_property_dict']):
+      # Same number of property. Good point.
+      for variation_property in variation_property_list:
+        try:
+          if variation_property_dict[variation_property] != \
+              property_dict['variation_property_dict'][variation_property]:
+            # Value is not the same for both movements
+            break
+        except KeyError:
+          # Key is not common to both movements
+          break
+      else:
+        updatable = True
+    return updatable, property_dict

Modified: erp5/trunk/products/ERP5/MovementGroup.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/MovementGroup.py?rev=23690&r1=23689&r2=23690&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/MovementGroup.py (original)
+++ erp5/trunk/products/ERP5/MovementGroup.py Thu Sep 18 10:17:41 2008
@@ -544,45 +544,6 @@
 
 allow_class(OptionMovementGroup)
 
-class VariationPropertyMovementGroup(RootMovementGroup):
-  """
-  Compare variation property dict of movement.
-  """
-
-  def __init__(self, movement, **kw):
-    """
-    Store variation property dict of the first movement.
-    """
-    RootMovementGroup.__init__(self, movement=movement, **kw)
-    self.property_dict = movement.getVariationPropertyDict()
-    self.setGroupEdit(
-      variation_property_dict = self.property_dict
-    )
-
-  def test(self, movement):
-    """
-    Check if the movement can be inserted in the group.
-    """
-    identity = 0
-    variation_property_dict = movement.getVariationPropertyDict()
-    variation_property_list = variation_property_dict.keys()
-    if len(variation_property_list) == len(self.property_dict):
-      # Same number of property. Good point.
-      for variation_property in variation_property_list:
-        try:
-          if variation_property_dict[variation_property] != \
-              self.property_dict[variation_property]:
-            # Value is not the same for both movements
-            break
-        except KeyError:
-          # Key is not common to both movements
-          break
-      else:
-        identity = 1
-    return identity
-
-allow_class(VariationPropertyMovementGroup)
-
 # XXX This should not be here
 # I (seb) have commited this because movement groups are not
 # yet configurable through the zope web interface




More information about the Erp5-report mailing list