From 0963e8050a48964a5449e1837a6109f86504b2f9 Mon Sep 17 00:00:00 2001
From: Nicolas Delaby <nicolas@nexedi.com>
Date: Tue, 5 Apr 2011 16:43:56 +0000
Subject: [PATCH] If listbox value is read from request it returns a dict, from
 parameters, this is a list. This patch address this issue, to unify the
 parsing of listbox value

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@45104 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../Delivery_submitSolveDivergenceDialog.xml       | 14 ++++++++++++--
 bt5/erp5_simulation/bt/revision                    |  2 +-
 2 files changed, 13 insertions(+), 3 deletions(-)

diff --git a/bt5/erp5_simulation/SkinTemplateItem/portal_skins/erp5_simulation/Delivery_submitSolveDivergenceDialog.xml b/bt5/erp5_simulation/SkinTemplateItem/portal_skins/erp5_simulation/Delivery_submitSolveDivergenceDialog.xml
index 17e8867abe..0e01c7fcb8 100644
--- a/bt5/erp5_simulation/SkinTemplateItem/portal_skins/erp5_simulation/Delivery_submitSolveDivergenceDialog.xml
+++ b/bt5/erp5_simulation/SkinTemplateItem/portal_skins/erp5_simulation/Delivery_submitSolveDivergenceDialog.xml
@@ -53,11 +53,21 @@
             <value> <string>from Products.ERP5Type.Message import translateString\n
 \n
 request= context.REQUEST\n
+\n
 if not listbox:\n
   listbox = request.get(\'listbox\', [])\n
+  if isinstance(listbox, dict):\n
+    # structure of listbox value is different than the one fetch from parameters\n
+    repaired_listbox = []\n
+    for key in listbox:\n
+      item = listbox[key]\n
+      item[\'listbox_key\'] = key\n
+      repaired_listbox.append(item)\n
+    listbox = repaired_listbox\n
+  \n
 line_list = context.Delivery_getSolverDecisionList(listbox=listbox)\n
-for listbox_key in listbox:\n
-  listbox_dict = listbox[listbox_key]\n
+for listbox_dict in listbox:\n
+  listbox_key = listbox_dict[\'listbox_key\']\n
   line = [x for x in line_list if x.getPath() == listbox_key][0]\n
   uid = line.getUid()\n
   for property in (\'solver\', \'solver_configuration\', \'delivery_solver\', \'comment\',):\n
diff --git a/bt5/erp5_simulation/bt/revision b/bt5/erp5_simulation/bt/revision
index 2d73b5e3ba..f79f5e337e 100644
--- a/bt5/erp5_simulation/bt/revision
+++ b/bt5/erp5_simulation/bt/revision
@@ -1 +1 @@
-152
\ No newline at end of file
+153
\ No newline at end of file
-- 
2.30.9