From 14f46326d219bbbadb57df31137bba3bbccb5dd5 Mon Sep 17 00:00:00 2001
From: Yoshinori Okuji <yo@nexedi.com>
Date: Wed, 8 Sep 2010 06:37:52 +0000
Subject: [PATCH] Move the filtering of deliveries by a portal type from the
 processing code to the caller.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@38187 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5/Document/OrderBuilder.py | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/product/ERP5/Document/OrderBuilder.py b/product/ERP5/Document/OrderBuilder.py
index c6c8a5c8ac..04a1633499 100644
--- a/product/ERP5/Document/OrderBuilder.py
+++ b/product/ERP5/Document/OrderBuilder.py
@@ -340,6 +340,11 @@ class OrderBuilder(XMLObject, Amount, Predicate):
         delivery_select_method = getattr(self, delivery_select_method_id)
         for brain in delivery_select_method(movement_list=movement_list):
           delivery_to_update_list.append(brain.getObject())
+
+      # Make sure that the portal type is good.
+      delivery_portal_type = self.getDeliveryPortalType()
+      delivery_to_update_list = [x for x in delivery_to_update_list \
+              if x.getPortalType() == delivery_portal_type]
     else:
       delivery_to_update_list = []
     # We do not want to update the same object more than twice in one
@@ -404,8 +409,7 @@ class OrderBuilder(XMLObject, Amount, Predicate):
       # a new one
       delivery_to_update_list = [
         x for x in delivery_to_update_list \
-        if x.getPortalType() == self.getDeliveryPortalType() and \
-        not self._isUpdated(x, 'delivery')]
+        if not self._isUpdated(x, 'delivery')]
       delivery, property_dict = self._findUpdatableObject(
         delivery_to_update_list, movement_group_node_list,
         divergence_list)
-- 
2.30.9