From e0e87b5926a178580bd73b2c5399ecd3dfaba45c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=A9rome=20Perrin?= <jerome@nexedi.com>
Date: Thu, 27 Apr 2006 18:14:56 +0000
Subject: [PATCH] get objects from the portal to cut acquisition chain

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@6973 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5/Document/DeliveryBuilder.py | 4 ++--
 product/ERP5/Document/OrderBuilder.py    | 9 +++++----
 2 files changed, 7 insertions(+), 6 deletions(-)

diff --git a/product/ERP5/Document/DeliveryBuilder.py b/product/ERP5/Document/DeliveryBuilder.py
index ff115cf087..6d4dacc992 100644
--- a/product/ERP5/Document/DeliveryBuilder.py
+++ b/product/ERP5/Document/DeliveryBuilder.py
@@ -125,7 +125,7 @@ class DeliveryBuilder(OrderBuilder):
       kw.update(self.portal_catalog.buildSQLQuery(**kw))
       movement_list = [x.getObject() for x in self.portal_catalog(**kw)]
     else:
-      select_method = getattr(self, self.simulation_select_method_id)
+      select_method = getattr(self.getPortalObject(), self.simulation_select_method_id)
       movement_list = select_method(**kw)
     # XXX Use buildSQLQuery will be better
     movement_list = filter(lambda x: x.getDeliveryRelatedValueList()==[],
@@ -177,7 +177,7 @@ class DeliveryBuilder(OrderBuilder):
       simulation related to this transaction.
     """
     # We have to get a delivery, else, raise a Error
-    delivery = self.restrictedTraverse(delivery_relative_url)
+    delivery = self.getPortalObject().restrictedTraverse(delivery_relative_url)
 
     delivery_uid = delivery.getUid()
 
diff --git a/product/ERP5/Document/OrderBuilder.py b/product/ERP5/Document/OrderBuilder.py
index 40838b4821..69899da0a0 100644
--- a/product/ERP5/Document/OrderBuilder.py
+++ b/product/ERP5/Document/OrderBuilder.py
@@ -140,7 +140,7 @@ class OrderBuilder(XMLObject, Amount, Predicate):
     delivery_module_before_building_script_id = \
         self.getDeliveryModuleBeforeBuildingScriptId()
     if delivery_module_before_building_script_id not in ["", None]:
-      delivery_module = getattr(self, self.getDeliveryModule())
+      delivery_module = getattr(self.getPortalObject(), self.getDeliveryModule())
       getattr(delivery_module, delivery_module_before_building_script_id)()
 
   def searchMovementList(self, applied_rule_uid=None,**kw):
@@ -271,13 +271,14 @@ class OrderBuilder(XMLObject, Amount, Predicate):
     if delivery_relative_url_list is None:
       delivery_relative_url_list = []
     # Module where we can create new deliveries
-    delivery_module = getattr(self, self.getDeliveryModule())
-    delivery_to_update_list = [self.restrictedTraverse(relative_url) for \
+    portal = self.getPortalObject()
+    delivery_module = getattr(portal, self.getDeliveryModule())
+    delivery_to_update_list = [portal.restrictedTraverse(relative_url) for \
                                relative_url in delivery_relative_url_list]
     # Deliveries we are trying to update
     delivery_select_method_id = self.getDeliverySelectMethodId()
     if delivery_select_method_id not in ["", None]:
-      to_update_delivery_sql_list = getattr(self, delivery_select_method_id) \
+      to_update_delivery_sql_list = getattr(portal, delivery_select_method_id) \
                                       (movement_list=movement_list)
       delivery_to_update_list.extend([sql_delivery.getObject() \
                                      for sql_delivery \
-- 
2.30.9