From 56eeeeb9b908a55e3c6719ff4e885a18de86fe5c Mon Sep 17 00:00:00 2001
From: Julien Muchembled <jm@nexedi.com>
Date: Thu, 26 Mar 2015 19:04:42 +0100
Subject: [PATCH] BT: properly update activity dependencies to placeless
 default reindex rarameters

Previous code would have failed if 'activate_kw' was already present
(TypeError: ... got multiple values for keyword argument '...').
---
 product/ERP5/Document/BusinessTemplate.py | 15 +++++++--------
 1 file changed, 7 insertions(+), 8 deletions(-)

diff --git a/product/ERP5/Document/BusinessTemplate.py b/product/ERP5/Document/BusinessTemplate.py
index f4b10f755a..57a60d4c7d 100644
--- a/product/ERP5/Document/BusinessTemplate.py
+++ b/product/ERP5/Document/BusinessTemplate.py
@@ -923,14 +923,13 @@ class ObjectTemplateItem(BaseTemplateItem):
       objects on which the uid was restored: previous object was deleted,
       hence the "deleted" path, and new object does have the same uid.
     """
-    original_reindex_parameters = context.getPlacelessDefaultReindexParameters()
-    if original_reindex_parameters is None:
-      original_reindex_parameters = {}
-    activate_kw = original_reindex_parameters.get('activate_kw', {}).copy()
-    activate_kw['after_method_id'] = 'unindexObject'
-    context.setPlacelessDefaultReindexParameters(activate_kw=activate_kw, \
-                                                 **original_reindex_parameters)
-    return original_reindex_parameters
+    kw = context.getPlacelessDefaultReindexParameters()
+    if kw is None:
+      kw = {}
+    context.setPlacelessDefaultReindexParameters(**dict(kw,
+      activate_kw=dict(kw.get('activate_kw', ()),
+                       after_method_id='unindexObject')))
+    return kw
 
   def _getObjectKeyList(self):
     # sort to add objects before their subobjects
-- 
2.30.9