[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