[Erp5-report] r10257 - /erp5/trunk/products/ERP5/Document/

nobody at svn.erp5.org nobody at svn.erp5.org
Fri Sep 22 17:19:17 CEST 2006


Author: rafael
Date: Fri Sep 22 17:19:14 2006
New Revision: 10257

URL: http://svn.erp5.org?rev=10257&view=rev
Log:
Remove old_expand method. It is not used and can generate mistakes. 



Modified:
    erp5/trunk/products/ERP5/Document/InvoiceTransactionRule.py
    erp5/trunk/products/ERP5/Document/InvoicingRule.py

Modified: erp5/trunk/products/ERP5/Document/InvoiceTransactionRule.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/Document/InvoiceTransactionRule.py?rev=10257&r1=10256&r2=10257&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/Document/InvoiceTransactionRule.py (original)
+++ erp5/trunk/products/ERP5/Document/InvoiceTransactionRule.py Fri Sep 22 17:19:14 2006
@@ -186,102 +186,6 @@
     # Pass to base class
     Rule.expand(self, applied_rule, force=force, **kw)
 
-#### old expand method kept for reference
-  def old_expand(self, applied_rule, force=0, **kw):
-    """ Expands the current movement downward.
-    """
-    # First, get the simulation movement we were expanded from
-    my_invoice_line_simulation = applied_rule.getParentValue()
-    
-    # Next, we can try to expand the rule
-    if force or \
-       (applied_rule.getLastExpandSimulationState()\
-          not in self.getPortalReservedInventoryStateList() and \
-       applied_rule.getLastExpandSimulationState()\
-          not in self.getPortalCurrentInventoryStateList()):
-
-      # Find a matching cell
-      my_cell = self._getMatchingCell(my_invoice_line_simulation)
-
-      if my_cell is not None :
-        my_cell_transaction_id_list = my_cell.contentIds()
-      else :
-        my_cell_transaction_id_list = []
-
-      if my_cell is not None : # else, we do nothing
-        # check each contained movement and delete
-        # those that we don't need
-        for movement in applied_rule.objectValues():
-          if movement.getId() not in my_cell_transaction_id_list :
-            applied_rule.deleteContent(movement.getId())
-        
-        # Add every movement from the Matrix to the Simulation
-        for transaction_line in my_cell.objectValues() :
-          if transaction_line.getId() in applied_rule.objectIds() :
-            my_simulation_movement = applied_rule[transaction_line.getId()]
-          else :
-            my_simulation_movement = applied_rule.newContent(
-                id = transaction_line.getId()
-              , portal_type=self.movement_type)
-
-          # get the resource (in that order):
-          #  * resource from the invoice (using deliveryValue)
-          #  * price_currency from the invoice
-          #  * price_currency from the parents simulation movement's
-          #  deliveryValue
-          #  * price_currency from the top level simulation movement's
-          # orderValue
-          
-          resource = None
-          invoice_line = my_invoice_line_simulation.getDeliveryValue()
-          if invoice_line is not None :
-            invoice = invoice_line.getExplanationValue()
-            resource = invoice.getProperty('resource',
-                       invoice.getProperty('price_currency', None))
-          if resource is None :
-            # search the resource on parents simulation movement's deliveries
-            simulation_movement = applied_rule.getParentValue()
-            portal_simulation = self.getPortalObject().portal_simulation
-            while resource is None and \
-                        simulation_movement != portal_simulation :
-              delivery = simulation_movement.getDeliveryValue()
-              if delivery is not None:
-                resource = delivery.getProperty('price_currency', None)
-              if simulation_movement.getParentValue().getParentValue() \
-                                        == portal_simulation :
-                # we are on the first simulation movement, we'll try
-                # to get the resource from it's order price currency.
-                order = simulation_movement.getOrderValue()
-                resource = order.getProperty('price_currency', None)
-              simulation_movement = simulation_movement\
-                                          .getParentValue().getParentValue()
-              
-          if resource is None :
-            # last resort : get the resource from the rule
-            resource = transaction_line.getResource() or my_cell.getResource()
-            if resource in (None, '') :
-              # XXX this happen in many order, so this log is probably useless
-              LOG("InvoiceTransactionRule", PROBLEM,
-                  "expanding %s: without resource" % applied_rule.getPath())
-          quantity_precision = self.getQuantityPrecisionFromResource(resource)
-          my_simulation_movement._edit(
-                source = transaction_line.getSource()
-              , destination = transaction_line.getDestination()
-              , source_section = my_invoice_line_simulation.getSourceSection()
-              , destination_section = my_invoice_line_simulation\
-                                        .getDestinationSection()
-              , resource = resource
-                # calculate (quantity * price) * cell_quantity
-              , quantity = round((my_invoice_line_simulation.getQuantity()
-                            * my_invoice_line_simulation.getPrice())
-                            * transaction_line.getQuantity(), quantity_precision)
-              , start_date = my_invoice_line_simulation.getStartDate()
-              , stop_date  = my_invoice_line_simulation.getStopDate()
-              , force_update = 1
-            )
-    
-    # Pass to base class
-    Rule.expand(self, applied_rule, force=force, **kw)
   
   # Matrix related
   security.declareProtected( Permissions.ModifyPortalContent,

Modified: erp5/trunk/products/ERP5/Document/InvoicingRule.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/Document/InvoicingRule.py?rev=10257&r1=10256&r2=10257&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/Document/InvoicingRule.py (original)
+++ erp5/trunk/products/ERP5/Document/InvoicingRule.py Fri Sep 22 17:19:14 2006
@@ -170,65 +170,4 @@
   def isDeliverable(self, movement):
     return movement.getResource() is not None
 
-#### old expand method kept for reference
-  def old_expand(self, applied_rule, **kw):
-    """
-    Expands the current movement downward.
-    """
-    delivery_line_type = 'Simulation Movement'
-    # Source that movement from the next node / stock
-    context_movement = applied_rule.getParentValue()
 
-    # Do not invoice within the same entity or whenever entities are
-    # not all defined
-    # It is OK to invoice within different entities of the same company
-    # if we wish to get some internal analytical accounting
-    # but that requires some processing to produce a balance sheet
-    source_section = context_movement.getSourceSection()
-    destination_section = context_movement.getDestinationSection()
-    if source_section == destination_section or source_section is None \
-       or destination_section is None:
-      return Rule.expand(self, applied_rule, **kw)
-    
-    if context_movement.getSource() is not None:
-      # XXX Please explain why ? Let us consider for
-      # example a consumption movement of garbage which we
-      # want to be invoiced (the cleanup company is working
-      # within our premises)
-      #
-      # We should only expand movements if they have a source
-      # otherwise, it creates infinite recursion
-      # This happens for example whenever the source of a movement is 
-      # acquired from an order which is deleted afterwards
-      new_id = 'inv_mvt'
-      if new_id in applied_rule.objectIds():
-        invoice_line = applied_rule[new_id]
-      else:
-        invoice_line = applied_rule.newContent(
-          type_name = delivery_line_type,
-          id = new_id
-        )
-      # Edit movement
-      invoice_line._edit(
-        price = context_movement.getPrice(),
-        quantity = context_movement.getQuantity(),
-        quantity_unit = context_movement.getQuantityUnit(),
-        efficiency = context_movement.getEfficiency(),
-        resource = context_movement.getResource(),
-        variation_category_list = context_movement.\
-                                          getVariationCategoryList(),
-        variation_property_dict = context_movement.\
-            getVariationPropertyDict(),
-        start_date = context_movement.getStartDate(),
-        stop_date = context_movement.getStopDate(),
-        source = context_movement.getSource(),
-        source_section = source_section,
-        destination = context_movement.getDestination(),
-        destination_section = destination_section,
-        # We do need to collect invoice lines to build invoices
-        deliverable = 1,
-      )
-    
-    # Create one submovement which sources the transformation
-    Rule.expand(self, applied_rule, **kw)
-




More information about the Erp5-report mailing list