[Erp5-report] r33302 kazuhiko - in /erp5/trunk: bt5/erp5_base/ActionTemplateItem/portal_typ...

nobody at svn.erp5.org nobody at svn.erp5.org
Wed Mar 3 06:39:46 CET 2010


Author: kazuhiko
Date: Wed Mar  3 06:39:46 2010
New Revision: 33302

URL: http://svn.erp5.org?rev=33302&view=rev
Log:
add Mirror Movement Group.

Added:
    erp5/trunk/products/ERP5/Document/MirrorMovementGroup.py
Modified:
    erp5/trunk/bt5/erp5_base/ActionTemplateItem/portal_types/Mirror%20Movement%20Group/view.xml
    erp5/trunk/bt5/erp5_base/PortalTypeAllowedContentTypeTemplateItem/allowed_content_types.xml
    erp5/trunk/bt5/erp5_base/bt/revision
    erp5/trunk/bt5/erp5_base/bt/template_action_path_list
    erp5/trunk/bt5/erp5_base/bt/template_portal_type_allowed_content_type_list
    erp5/trunk/bt5/erp5_base/bt/template_portal_type_id_list

Modified: erp5/trunk/bt5/erp5_base/ActionTemplateItem/portal_types/Mirror%20Movement%20Group/view.xml
URL: http://svn.erp5.org/erp5/trunk/bt5/erp5_base/ActionTemplateItem/portal_types/Mirror%2520Movement%2520Group/view.xml?rev=33302&r1=33301&r2=33302&view=diff
==============================================================================
--- erp5/trunk/bt5/erp5_base/ActionTemplateItem/portal_types/Mirror%20Movement%20Group/view.xml [utf8] (original)
+++ erp5/trunk/bt5/erp5_base/ActionTemplateItem/portal_types/Mirror%20Movement%20Group/view.xml [utf8] Wed Mar  3 06:39:46 2010
@@ -77,7 +77,7 @@
       <dictionary>
         <item>
             <key> <string>text</string> </key>
-            <value> <string>string:${object_url}/PropertyMovementGroup_view</string> </value>
+            <value> <string>string:${object_url}/MovementGroup_view</string> </value>
         </item>
       </dictionary>
     </pickle>

Modified: erp5/trunk/bt5/erp5_base/PortalTypeAllowedContentTypeTemplateItem/allowed_content_types.xml
URL: http://svn.erp5.org/erp5/trunk/bt5/erp5_base/PortalTypeAllowedContentTypeTemplateItem/allowed_content_types.xml?rev=33302&r1=33301&r2=33302&view=diff
==============================================================================
--- erp5/trunk/bt5/erp5_base/PortalTypeAllowedContentTypeTemplateItem/allowed_content_types.xml [utf8] (original)
+++ erp5/trunk/bt5/erp5_base/PortalTypeAllowedContentTypeTemplateItem/allowed_content_types.xml [utf8] Wed Mar  3 06:39:46 2010
@@ -21,6 +21,7 @@
   <item>Causality Movement Group</item>
   <item>Day Movement Group</item>
   <item>Delivery Causality Assignment Movement Group</item>
+  <item>Mirror Movement Group</item>
   <item>Monthly Range Movement Group</item>
   <item>Nested Line Movement Group</item>
   <item>Order Movement Group</item>
@@ -53,10 +54,15 @@
   <item>Category Movement Group</item>
   <item>Causality Assignment Movement Group</item>
   <item>Causality Movement Group</item>
+  <item>Day Movement Group</item>
+  <item>Delivery Causality Assignment Movement Group</item>
+  <item>Mirror Movement Group</item>
+  <item>Monthly Range Movement Group</item>
   <item>Nested Line Movement Group</item>
   <item>Order Movement Group</item>
   <item>Parent Explanation Movement Group</item>
   <item>Predicate</item>
+  <item>Property Assignment Movement Group</item>
   <item>Property Movement Group</item>
   <item>Quantity Sign Movement Group</item>
   <item>Requirement Movement Group</item>
@@ -64,6 +70,7 @@
   <item>Split Category Movement Group</item>
   <item>Split Movement Group</item>
   <item>Split Property Movement Group</item>
+  <item>Tax Line Delivery Movement Group</item>
   <item>Title Movement Group</item>
   <item>Variant Movement Group</item>
   <item>Variation Property Movement Group</item>

Modified: erp5/trunk/bt5/erp5_base/bt/revision
URL: http://svn.erp5.org/erp5/trunk/bt5/erp5_base/bt/revision?rev=33302&r1=33301&r2=33302&view=diff
==============================================================================
--- erp5/trunk/bt5/erp5_base/bt/revision [utf8] (original)
+++ erp5/trunk/bt5/erp5_base/bt/revision [utf8] Wed Mar  3 06:39:46 2010
@@ -1,1 +1,1 @@
-685
+686

Modified: erp5/trunk/bt5/erp5_base/bt/template_action_path_list
URL: http://svn.erp5.org/erp5/trunk/bt5/erp5_base/bt/template_action_path_list?rev=33302&r1=33301&r2=33302&view=diff
==============================================================================
--- erp5/trunk/bt5/erp5_base/bt/template_action_path_list [utf8] (original)
+++ erp5/trunk/bt5/erp5_base/bt/template_action_path_list [utf8] Wed Mar  3 06:39:46 2010
@@ -36,6 +36,7 @@
 Image | fullsize_view
 Image | view
 Link | view
+Mirror Movement Group | view
 Monthly Range Movement Group | view
 Nested Line Movement Group | view
 Notification Message Module | view

Modified: erp5/trunk/bt5/erp5_base/bt/template_portal_type_allowed_content_type_list
URL: http://svn.erp5.org/erp5/trunk/bt5/erp5_base/bt/template_portal_type_allowed_content_type_list?rev=33302&r1=33301&r2=33302&view=diff
==============================================================================
--- erp5/trunk/bt5/erp5_base/bt/template_portal_type_allowed_content_type_list [utf8] (original)
+++ erp5/trunk/bt5/erp5_base/bt/template_portal_type_allowed_content_type_list [utf8] Wed Mar  3 06:39:46 2010
@@ -9,6 +9,7 @@
 Delivery Builder | Causality Movement Group
 Delivery Builder | Day Movement Group
 Delivery Builder | Delivery Causality Assignment Movement Group
+Delivery Builder | Mirror Movement Group
 Delivery Builder | Monthly Range Movement Group
 Delivery Builder | Nested Line Movement Group
 Delivery Builder | Order Movement Group
@@ -33,10 +34,15 @@
 Order Builder | Category Movement Group
 Order Builder | Causality Assignment Movement Group
 Order Builder | Causality Movement Group
+Order Builder | Day Movement Group
+Order Builder | Delivery Causality Assignment Movement Group
+Order Builder | Mirror Movement Group
+Order Builder | Monthly Range Movement Group
 Order Builder | Nested Line Movement Group
 Order Builder | Order Movement Group
 Order Builder | Parent Explanation Movement Group
 Order Builder | Predicate
+Order Builder | Property Assignment Movement Group
 Order Builder | Property Movement Group
 Order Builder | Quantity Sign Movement Group
 Order Builder | Requirement Movement Group
@@ -44,6 +50,7 @@
 Order Builder | Split Category Movement Group
 Order Builder | Split Movement Group
 Order Builder | Split Property Movement Group
+Order Builder | Tax Line Delivery Movement Group
 Order Builder | Title Movement Group
 Order Builder | Variant Movement Group
 Order Builder | Variation Property Movement Group

Modified: erp5/trunk/bt5/erp5_base/bt/template_portal_type_id_list
URL: http://svn.erp5.org/erp5/trunk/bt5/erp5_base/bt/template_portal_type_id_list?rev=33302&r1=33301&r2=33302&view=diff
==============================================================================
--- erp5/trunk/bt5/erp5_base/bt/template_portal_type_id_list [utf8] (original)
+++ erp5/trunk/bt5/erp5_base/bt/template_portal_type_id_list [utf8] Wed Mar  3 06:39:46 2010
@@ -24,6 +24,7 @@
 File
 Image
 Link
+Mirror Movement Group
 Monthly Range Movement Group
 Nested Line Movement Group
 Notification Message

Added: erp5/trunk/products/ERP5/Document/MirrorMovementGroup.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/Document/MirrorMovementGroup.py?rev=33302&view=auto
==============================================================================
--- erp5/trunk/products/ERP5/Document/MirrorMovementGroup.py (added)
+++ erp5/trunk/products/ERP5/Document/MirrorMovementGroup.py [utf8] Wed Mar  3 06:39:46 2010
@@ -1,0 +1,72 @@
+##############################################################################
+#
+# Copyright (c) 2010 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 MirrorMovementGroup(MovementGroup):
+  """
+  For Payment Transaction, we don't care the direction:
+
+    * source:A, destination:B, quantity:+10
+    * source:B, destination:A, quantity:-10
+
+  The purpose of MirrorMovementGroup is to make to merge these two
+  simulation movements into one delivery movement. To do that, we need
+  to reverse the order with the help of Mapped Property document that
+  exists in the rule.
+  """
+  meta_type = 'ERP5 Mirror Movement Group'
+  portal_type = 'Mirror Movement Group'
+
+  def _getPropertyDict(self, movement, **kw):
+    return {}
+
+  def test(self, document, property_dict, **kw):
+    return True, property_dict
+
+  def _separate(self, movement_list):
+    # record if mirrored or not in simulation movements.
+    mapping_dict = {}
+    for movement in movement_list:
+      if _isMirrored(movement):
+        applied_rule = movement.getParentValue()
+        # XXX do we need more precise way to find Mapped Property
+        # document for mirrored?
+        mapping_list = mapping_dict.setdefault(
+          applied_rule,
+          applied_rule.getSpecialiseValue().objectValues(
+          portal_type='Mapped Property') or [])
+        if len(mapping_list) > 0:
+          movement.setMappingValue(mapping_list[0])
+    return [[movement_list, {}]]
+
+def _isMirrored(document):
+  # to merge A->B and B->A movements, here we determine if we need to
+  # reverse or not by just comparing its source_section's id and
+  # destination_section's id, whose result should be consistent for each
+  # document.
+  return document.getDestinationSectionId() <> document.getSourceSectionId()




More information about the Erp5-report mailing list