[Erp5-report] r30606 - /erp5/trunk/products/ERP5/interfaces/

nobody at svn.erp5.org nobody at svn.erp5.org
Fri Nov 13 23:05:32 CET 2009


Author: jp
Date: Fri Nov 13 23:05:31 2009
New Revision: 30606

URL: http://svn.erp5.org?rev=30606&view=rev
Log:
Initial upload.

Added:
    erp5/trunk/products/ERP5/interfaces/movement_collection.py
    erp5/trunk/products/ERP5/interfaces/movement_collection_diff.py
    erp5/trunk/products/ERP5/interfaces/movement_collection_updater.py

Added: erp5/trunk/products/ERP5/interfaces/movement_collection.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/interfaces/movement_collection.py?rev=30606&view=auto
==============================================================================
--- erp5/trunk/products/ERP5/interfaces/movement_collection.py (added)
+++ erp5/trunk/products/ERP5/interfaces/movement_collection.py [utf8] Fri Nov 13 23:05:31 2009
@@ -1,0 +1,53 @@
+# -*- coding: utf-8 -*-
+##############################################################################
+#
+# Copyright (c) 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 advised 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.
+#
+##############################################################################
+"""
+"""
+
+from zope.interface import Interface
+
+class IMovementCollection(Interface):
+  """Movement Collection interface specification
+  
+  Documents which implement IMovementCollection provide
+  a list access to all movements which they contain. 
+  IMovementCollection is the abstraction of all classes
+  which contain movements. This includes Deliveries, 
+  Applied Rules, etc.
+
+  TODO:
+    - extract from Delivery.py class all methods
+      which are common to ApplieRule.py
+    - should IMovementCollection be designed
+      in such way that DeliveryLine is also
+      an IMovementCollection ?
+  """
+  def getMovementList(portal_type=None, **kw):
+    """
+    Returns all movements of the collection
+    """

Added: erp5/trunk/products/ERP5/interfaces/movement_collection_diff.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/interfaces/movement_collection_diff.py?rev=30606&view=auto
==============================================================================
--- erp5/trunk/products/ERP5/interfaces/movement_collection_diff.py (added)
+++ erp5/trunk/products/ERP5/interfaces/movement_collection_diff.py [utf8] Fri Nov 13 23:05:31 2009
@@ -1,0 +1,65 @@
+# -*- coding: utf-8 -*-
+##############################################################################
+#
+# Copyright (c) 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 advised 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.
+#
+##############################################################################
+"""
+"""
+
+from zope.interface import Interface
+
+class IMovementCollectionDiff(Interface):
+  """Movement Collection Diff interface specification
+  
+  Documents which implement IMovementCollectionDiff 
+  are used to represent the movements which should be
+  added, updated or deleted in an IMovementCollection.
+  They are usually generated and used by 
+  IMovementCollectionUpdater.
+  """
+  def getDeletableMovementList():
+    """
+    Returns the list of movements which need 
+    to be deleted.
+    """
+
+  def getNewMovementList():
+    """
+    Returns a list temp movements which represent new
+    movements to add to an existing IMovementCollection.
+    """
+
+  def getUpdatableMovementList():
+    """
+    Returns the list of movements which need 
+    to be updated.
+    """
+
+  def getMovementPropertyDict(movement):
+    """
+    Returns a dict of all properties and values
+    to update an existing movement.
+    """

Added: erp5/trunk/products/ERP5/interfaces/movement_collection_updater.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/interfaces/movement_collection_updater.py?rev=30606&view=auto
==============================================================================
--- erp5/trunk/products/ERP5/interfaces/movement_collection_updater.py (added)
+++ erp5/trunk/products/ERP5/interfaces/movement_collection_updater.py [utf8] Fri Nov 13 23:05:31 2009
@@ -1,0 +1,68 @@
+# -*- coding: utf-8 -*-
+##############################################################################
+#
+# Copyright (c) 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 advised 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.
+#
+##############################################################################
+"""
+"""
+
+from zope.interface import Interface
+
+class IMovementCollectionUpdater(Interface):
+  """Movement Collection Updater interface specification
+  
+  Documents which implement IMovementCollectionUpdater
+  usually invoke an IMovementGenerator to generate
+  an IMovementList and compare it to another IMovementList
+  obtained from an IMovementCollection, thus generating
+  an IMovementCollectionDiff.
+  """
+  def getMovementCollectionDiff(context, rounding=False, movement_generator=None):
+    """
+    Return a IMovementCollectionDiff by comparing movements
+    the list of movements of context and the list of movements
+    generated by movement_generator on context.
+
+    context -- an IMovementCollection usually, possibly
+               an IMovementList or an IMovement
+
+    movement_generator -- an optional IMovementGenerator
+                          (if not specified, a context implicit 
+                          IMovementGenerator will be used)
+    """
+
+  def updateMovementCollection(context, rounding=False, movement_generator=None):
+    """
+    Invoke getMovementCollectionDiff and update context with 
+    the resulting IMovementCollectionDiff.
+
+    context -- an IMovementCollection usually, possibly
+               an IMovementList or an IMovement
+
+    movement_generator -- an optional IMovementGenerator
+                          (if not specified, a context implicit 
+                          IMovementGenerator will be used)
+    """




More information about the Erp5-report mailing list