[Erp5-report] r36862 kazuhiko - in /erp5/trunk/products: ERP5/ ERP5/DeliverySolver/ ERP5/Do...

nobody at svn.erp5.org nobody at svn.erp5.org
Mon Jul 5 14:22:30 CEST 2010


Author: kazuhiko
Date: Mon Jul  5 14:22:29 2010
New Revision: 36862

URL: http://svn.erp5.org?rev=36862&view=rev
Log:
make delivery solvers ERP5 documents.

Added:
    erp5/trunk/products/ERP5/Document/FIFODeliverySolver.py
    erp5/trunk/products/ERP5/Document/LIFODeliverySolver.py
    erp5/trunk/products/ERP5/Document/MinimisePriceDeliverySolver.py
    erp5/trunk/products/ERP5/PropertySheet/DeliverySolver.py
Removed:
    erp5/trunk/products/ERP5/DeliverySolver/FIFO.py
    erp5/trunk/products/ERP5/DeliverySolver/LIFO.py
    erp5/trunk/products/ERP5/DeliverySolver/MinPrice.py
Modified:
    erp5/trunk/products/ERP5/Document/QuantitySplitSolver.py
    erp5/trunk/products/ERP5/ERP5Site.py
    erp5/trunk/products/ERP5Type/ERP5Type.py

Removed: erp5/trunk/products/ERP5/DeliverySolver/FIFO.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/DeliverySolver/FIFO.py?rev=36861&view=auto
==============================================================================
--- erp5/trunk/products/ERP5/DeliverySolver/FIFO.py [utf8] (original)
+++ erp5/trunk/products/ERP5/DeliverySolver/FIFO.py (removed)
@@ -1,95 +0,0 @@
-# -*- coding: utf-8 -*-
-##############################################################################
-#
-# Copyright (c) 2008-2009 Nexedi SA and Contributors. All Rights Reserved.
-#                    Jean-Paul Smets-Solanes <jp at nexedi.com>
-#
-# 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., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
-#
-##############################################################################
-
-import zope.interface
-from Products.ERP5Type import interfaces
-from DeliverySolver import DeliverySolver
-
-class FIFO(DeliverySolver):
-  """
-  The FIFO solver reduces delivered quantity by reducing the quantity of
-  simulation movements from the last order.
-  """
-
-  # Declarative interfaces
-  zope.interface.implements(interfaces.IDeliverySolver)
-
-  title = 'FIFO Solver'
-
-  # IDeliverySolver Implementation
-  def __init__(self, simulation_movement_list):
-    """
-      Move this to mixin
-    """
-    self.simulation_movement_list = simulation_movement_list
-
-  def getTotalQuantity(self):
-    """
-      Move this to mixin
-    """
-    total_quantity = 0
-    for movement in self.simulation_movement_list:
-      total_quantity += movement.getQuantity()
-    return total_quantity
-
-  def setTotalQuantity(self, new_quantity, activate_kw=None):
-    """
-    """
-    result = []
-    remaining_quantity = self.getTotalQuantity() - new_quantity
-    if remaining_quantity < 0:
-      return result
-    simulation_movement_list = self._getSimulationMovementList()
-    for movement in simulation_movement_list:
-      if remaining_quantity:
-        quantity = movement.getQuantity()
-        if quantity < remaining_quantity:
-          result.append((movement, quantity))
-          remaining_quantity -= quantity
-          movement.edit(quantity=0, delivery_ratio=0, activate_kw=activate_kw)
-        else:
-          result.append((movement, remaining_quantity))
-          movement_quantity = quantity - remaining_quantity
-          movement.edit(quantity=movement_quantity,
-                        delivery_ratio=movement_quantity / new_quantity,
-                        activate_kw=activate_kw)
-          remaining_quantity = 0
-    # Return movement, split_quantity tuples
-    return result
-
-  def _getSimulationMovementList(self):
-    """
-    Returns a list of simulation movement sorted from the last order.
-    """
-    simulation_movement_list = self.simulation_movement_list
-    if len(simulation_movement_list) > 1:
-      return sorted(simulation_movement_list,
-        key=lambda x:x.getExplainationValue().getStartDate(), reverse=True)
-    else:
-      return simulation_movement_list

Removed: erp5/trunk/products/ERP5/DeliverySolver/LIFO.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/DeliverySolver/LIFO.py?rev=36861&view=auto
==============================================================================
--- erp5/trunk/products/ERP5/DeliverySolver/LIFO.py [utf8] (original)
+++ erp5/trunk/products/ERP5/DeliverySolver/LIFO.py (removed)
@@ -1,55 +0,0 @@
-# -*- coding: utf-8 -*-
-##############################################################################
-#
-# Copyright (c) 2008-2009 Nexedi SA and Contributors. All Rights Reserved.
-#                    Jean-Paul Smets-Solanes <jp at nexedi.com>
-#
-# 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., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
-#
-##############################################################################
-
-import zope.interface
-from Products.ERP5Type import interfaces
-
-from FIFO import FIFO
-
-class LIFO(FIFO):
-  """
-  The LIFO solver reduces delivered quantity by reducing the quantity of
-  simulation movements from the first order.
-  """
-
-  # Declarative interfaces
-  zope.interface.implements(interfaces.IDeliverySolver)
-
-  title = 'LIFO Solver'
-
-  def _getSimulationMovementList(self):
-    """
-    Returns a list of simulation movement sorted from the first order.
-    """
-    simulation_movement_list = self.simulation_movement_list
-    if len(simulation_movement_list) > 1:
-      return sorted(simulation_movement_list,
-        key=lambda x:x.getExplainationValue().getStartDate())
-    else:
-      return simulation_movement_list

Removed: erp5/trunk/products/ERP5/DeliverySolver/MinPrice.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/DeliverySolver/MinPrice.py?rev=36861&view=auto
==============================================================================
--- erp5/trunk/products/ERP5/DeliverySolver/MinPrice.py [utf8] (original)
+++ erp5/trunk/products/ERP5/DeliverySolver/MinPrice.py (removed)
@@ -1,80 +0,0 @@
-# -*- coding: utf-8 -*-
-##############################################################################
-#
-# Copyright (c) 2008-2009 Nexedi SA and Contributors. All Rights Reserved.
-#                    Jean-Paul Smets-Solanes <jp at nexedi.com>
-#
-# 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., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
-#
-##############################################################################
-
-import zope.interface
-from Products.ERP5Type import interfaces
-
-from FIFO import FIFO
-
-class MinPrice(FIFO):
-  """
-  The MinPrice deliver solver distributes quantity in order to minimise
-  price.
-  """
-  # Declarative interfaces
-  zope.interface.implements(interfaces.IDeliverySolver)
-
-  title = 'MinPrice Solver'
-
-  def setTotalQuantity(self, new_quantity, activate_kw=None):
-    """
-    """
-    result = []
-    simulation_movement_list = self._getSimulationMovementList()
-    remaining_quantity = self.getTotalQuantity() - new_quantity
-    if remaining_quantity > 0:
-      # In case of reducing the quantity, we should start from the more
-      # expensive price.
-      simulation_movement_list.reverse()
-    for movement in simulation_movement_list:
-      if remaining_quantity:
-        quantity = movement.getQuantity()
-        if quantity < remaining_quantity:
-          result.append((movement, quantity))
-          remaining_quantity -= quantity
-          movement.edit(quantity=0, delivery_ratio=0, activate_kw=activate_kw)
-        else:
-          result.append((movement, remaining_quantity))
-          movement_quantity = quantity - remaining_quantity
-          movement.edit(quantity=movement_quantity,
-                        delivery_ratio=movement_quantity / new_quantity,
-                        activate_kw=activate_kw)
-          remaining_quantity = 0
-    # Return movement, split_quantity tuples
-    return result
-
-  def _getSimulationMovementList(self):
-    """
-    Returns a list of simulation movement sorted from the lower price.
-    """
-    simulation_movement_list = self.simulation_movement_list
-    if len(simulation_movement_list) > 1:
-      return sorted(simulation_movement_list, key=lambda x:x.getPrice())
-    else:
-      return simulation_movement_list

Added: erp5/trunk/products/ERP5/Document/FIFODeliverySolver.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/Document/FIFODeliverySolver.py?rev=36862&view=auto
==============================================================================
--- erp5/trunk/products/ERP5/Document/FIFODeliverySolver.py (added)
+++ erp5/trunk/products/ERP5/Document/FIFODeliverySolver.py [utf8] Mon Jul  5 14:22:29 2010
@@ -0,0 +1,103 @@
+# -*- coding: utf-8 -*-
+##############################################################################
+#
+# 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.
+#
+##############################################################################
+
+import zope.interface
+from AccessControl import ClassSecurityInfo
+from Products.ERP5Type import Permissions, PropertySheet, interfaces
+from Products.ERP5Type.XMLObject import XMLObject
+
+class FIFODeliverySolver(XMLObject):
+  """
+  The FIFO solver reduces delivered quantity by reducing the quantity of
+  simulation movements from the last order.
+  """
+  meta_type = 'ERP5 FIFO Delivery Solver'
+  portal_type = 'FIFO Delivery Solver'
+  add_permission = Permissions.AddPortalContent
+  isIndexable = 0 # We do not want to fill the catalog with objects on which we need no reporting
+
+  # Declarative security
+  security = ClassSecurityInfo()
+  security.declareObjectProtected(Permissions.AccessContentsInformation)
+
+  # Default Properties
+  property_sheets = ( PropertySheet.Base
+                    , PropertySheet.XMLObject
+                    , PropertySheet.CategoryCore
+                    , PropertySheet.DublinCore
+                    , PropertySheet.DeliverySolver
+                    )
+
+  # Declarative interfaces
+  zope.interface.implements(interfaces.IDeliverySolver,)
+
+  # IDeliverySolver Implementation
+  def getTotalQuantity(self):
+    """
+      Move this to mixin
+    """
+    total_quantity = 0
+    for movement in self.getDeliveryValueList():
+      total_quantity += movement.getQuantity()
+    return total_quantity
+
+  def setTotalQuantity(self, new_quantity, activate_kw=None):
+    """
+    """
+    result = []
+    remaining_quantity = self.getTotalQuantity() - new_quantity
+    if remaining_quantity < 0:
+      return result
+    simulation_movement_list = self._getSimulationMovementList()
+    for movement in simulation_movement_list:
+      if remaining_quantity:
+        quantity = movement.getQuantity()
+        if quantity < remaining_quantity:
+          result.append((movement, quantity))
+          remaining_quantity -= quantity
+          movement.edit(quantity=0, delivery_ratio=0, activate_kw=activate_kw)
+        else:
+          result.append((movement, remaining_quantity))
+          movement_quantity = quantity - remaining_quantity
+          movement.edit(quantity=movement_quantity,
+                        delivery_ratio=movement_quantity / new_quantity,
+                        activate_kw=activate_kw)
+          remaining_quantity = 0
+    # Return movement, split_quantity tuples
+    return result
+
+  def _getSimulationMovementList(self):
+    """
+    Returns a list of simulation movement sorted from the last order.
+    """
+    simulation_movement_list = self.getDeliveryValueList()
+    if len(simulation_movement_list) > 1:
+      return sorted(simulation_movement_list,
+        key=lambda x:x.getExplainationValue().getStartDate(), reverse=True)
+    else:
+      return simulation_movement_list

Added: erp5/trunk/products/ERP5/Document/LIFODeliverySolver.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/Document/LIFODeliverySolver.py?rev=36862&view=auto
==============================================================================
--- erp5/trunk/products/ERP5/Document/LIFODeliverySolver.py (added)
+++ erp5/trunk/products/ERP5/Document/LIFODeliverySolver.py [utf8] Mon Jul  5 14:22:29 2010
@@ -0,0 +1,68 @@
+# -*- coding: utf-8 -*-
+##############################################################################
+#
+# 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.
+#
+##############################################################################
+
+import zope.interface
+from AccessControl import ClassSecurityInfo
+from Products.ERP5Type import Permissions, PropertySheet, interfaces
+from Products.ERP5.Document.FIFODeliverySolver import FIFODeliverySolver
+
+class LIFODeliverySolver(FIFODeliverySolver):
+  """
+  The LIFO solver reduces delivered quantity by reducing the quantity of
+  simulation movements from the first order.
+  """
+  meta_type = 'ERP5 LIFO Delivery Solver'
+  portal_type = 'LIFO Delivery Solver'
+  add_permission = Permissions.AddPortalContent
+  isIndexable = 0 # We do not want to fill the catalog with objects on which we need no reporting
+
+  # Declarative security
+  security = ClassSecurityInfo()
+  security.declareObjectProtected(Permissions.AccessContentsInformation)
+
+  # Default Properties
+  property_sheets = ( PropertySheet.Base
+                    , PropertySheet.XMLObject
+                    , PropertySheet.CategoryCore
+                    , PropertySheet.DublinCore
+                    , PropertySheet.DeliverySolver
+                    )
+
+  # Declarative interfaces
+  zope.interface.implements(interfaces.IDeliverySolver,)
+
+  def _getSimulationMovementList(self):
+    """
+    Returns a list of simulation movement sorted from the first order.
+    """
+    simulation_movement_list = self.getDeliveryValueList()
+    if len(simulation_movement_list) > 1:
+      return sorted(simulation_movement_list,
+        key=lambda x:x.getExplainationValue().getStartDate())
+    else:
+      return simulation_movement_list

Added: erp5/trunk/products/ERP5/Document/MinimisePriceDeliverySolver.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/Document/MinimisePriceDeliverySolver.py?rev=36862&view=auto
==============================================================================
--- erp5/trunk/products/ERP5/Document/MinimisePriceDeliverySolver.py (added)
+++ erp5/trunk/products/ERP5/Document/MinimisePriceDeliverySolver.py [utf8] Mon Jul  5 14:22:29 2010
@@ -0,0 +1,95 @@
+# -*- coding: utf-8 -*-
+##############################################################################
+#
+# 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.
+#
+##############################################################################
+
+import zope.interface
+from AccessControl import ClassSecurityInfo
+from Products.ERP5Type import Permissions, PropertySheet, interfaces
+from Products.ERP5.Document.FIFODeliverySolver import FIFODeliverySolver
+
+class MinimisePriceDeliverySolver(FIFODeliverySolver):
+  """
+  The Minimise Price deliver solver distributes quantity in order to minimise
+  price.
+  """
+  meta_type = 'ERP5 Minimise Price Delivery Solver'
+  portal_type = 'Minimise Price Delivery Solver'
+  add_permission = Permissions.AddPortalContent
+  isIndexable = 0 # We do not want to fill the catalog with objects on which we need no reporting
+
+  # Declarative security
+  security = ClassSecurityInfo()
+  security.declareObjectProtected(Permissions.AccessContentsInformation)
+
+  # Default Properties
+  property_sheets = ( PropertySheet.Base
+                    , PropertySheet.XMLObject
+                    , PropertySheet.CategoryCore
+                    , PropertySheet.DublinCore
+                    , PropertySheet.DeliverySolver
+                    )
+
+  # Declarative interfaces
+  zope.interface.implements(interfaces.IDeliverySolver,)
+
+  # IDeliverySolver Implementation
+  def setTotalQuantity(self, new_quantity, activate_kw=None):
+    """
+    """
+    result = []
+    simulation_movement_list = self._getSimulationMovementList()
+    remaining_quantity = self.getTotalQuantity() - new_quantity
+    if remaining_quantity > 0:
+      # In case of reducing the quantity, we should start from the more
+      # expensive price.
+      simulation_movement_list.reverse()
+    for movement in simulation_movement_list:
+      if remaining_quantity:
+        quantity = movement.getQuantity()
+        if quantity < remaining_quantity:
+          result.append((movement, quantity))
+          remaining_quantity -= quantity
+          movement.edit(quantity=0, delivery_ratio=0, activate_kw=activate_kw)
+        else:
+          result.append((movement, remaining_quantity))
+          movement_quantity = quantity - remaining_quantity
+          movement.edit(quantity=movement_quantity,
+                        delivery_ratio=movement_quantity / new_quantity,
+                        activate_kw=activate_kw)
+          remaining_quantity = 0
+    # Return movement, split_quantity tuples
+    return result
+
+  def _getSimulationMovementList(self):
+    """
+    Returns a list of simulation movement sorted from the lower price.
+    """
+    simulation_movement_list = self.getDeliveryValueList()
+    if len(simulation_movement_list) > 1:
+      return sorted(simulation_movement_list, key=lambda x:x.getPrice())
+    else:
+      return simulation_movement_list

Modified: erp5/trunk/products/ERP5/Document/QuantitySplitSolver.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/Document/QuantitySplitSolver.py?rev=36862&r1=36861&r2=36862&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/Document/QuantitySplitSolver.py [utf8] (original)
+++ erp5/trunk/products/ERP5/Document/QuantitySplitSolver.py [utf8] Mon Jul  5 14:22:29 2010
@@ -73,8 +73,10 @@ class QuantitySplitSolver(SolverMixin, C
                                []).append(simulation_movement)
     for movement, simulation_movement_list in delivery_dict.iteritems():
       decision_quantity = movement.getQuantity()
-      delivery_solver = self.portal_solvers.newDeliverySolver(
-        configuration_dict['delivery_solver'], simulation_movement_list)
+      delivery_solver = self.getParentValue().newContent(
+        portal_type=configuration_dict['delivery_solver'],
+        temp_object=True)
+      delivery_solver.setDeliveryValueList(simulation_movement_list)
       # Update the quantity using delivery solver algorithm
       split_list = delivery_solver.setTotalQuantity(decision_quantity,
                                                     activate_kw=activate_kw)

Modified: erp5/trunk/products/ERP5/ERP5Site.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/ERP5Site.py?rev=36862&r1=36861&r2=36862&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/ERP5Site.py [utf8] (original)
+++ erp5/trunk/products/ERP5/ERP5Site.py [utf8] Mon Jul  5 14:22:29 2010
@@ -1119,6 +1119,14 @@ class ERP5Site(FolderMixIn, CMFSite):
     return self._getPortalGroupedTypeList('target_solver')
 
   security.declareProtected(Permissions.AccessContentsInformation,
+                            'getPortalTargetSolverTypeList')
+  def getPortalDeliverySolverTypeList(self):
+    """
+    Return delivery solver types.
+    """
+    return self._getPortalGroupedTypeList('delivery_solver')
+
+  security.declareProtected(Permissions.AccessContentsInformation,
                             'getPortalAmountGeneratorTypeList')
   def getPortalAmountGeneratorTypeList(self):
     """

Added: erp5/trunk/products/ERP5/PropertySheet/DeliverySolver.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/PropertySheet/DeliverySolver.py?rev=36862&view=auto
==============================================================================
--- erp5/trunk/products/ERP5/PropertySheet/DeliverySolver.py (added)
+++ erp5/trunk/products/ERP5/PropertySheet/DeliverySolver.py [utf8] Mon Jul  5 14:22:29 2010
@@ -0,0 +1,30 @@
+# -*- coding: utf-8 -*-
+##############################################################################
+#
+# 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.
+#
+##############################################################################
+
+class DeliverySolver:
+  _categories = ('delivery',)

Modified: erp5/trunk/products/ERP5Type/ERP5Type.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5Type/ERP5Type.py?rev=36862&r1=36861&r2=36862&view=diff
==============================================================================
--- erp5/trunk/products/ERP5Type/ERP5Type.py [utf8] (original)
+++ erp5/trunk/products/ERP5Type/ERP5Type.py [utf8] Mon Jul  5 14:22:29 2010
@@ -260,7 +260,7 @@ class ERP5TypeInformation(XMLObject,
       'recent_document', 'my_document', 'template_document',
       'crawler_index',
       # Solvers and simulation
-      'divergence_tester', 'target_solver',
+      'divergence_tester', 'target_solver', 'delivery_solver',
       'amount_generator',  'amount_generator_line', 'amount_generator_cell',
       # Movement Group
       'movement_group',




More information about the Erp5-report mailing list