diff --git a/product/ERP5Form/SelectionTool.py b/product/ERP5Form/SelectionTool.py index 499ee91293e00185c916c574f0b33453506b1da4..1e636db0b9c244a9509525a8b1dd8e03a9ca38b0 100644 --- a/product/ERP5Form/SelectionTool.py +++ b/product/ERP5Form/SelectionTool.py @@ -427,6 +427,7 @@ class SelectionTool( BaseTool, UniqueObject, SimpleItem ): """ # selection_name, sort_on and form_id params are kept only for bacward compatibilty # as some test call setSelectionQuickSortOrder in url with these params + listbox_id = None if sort_on is None: listbox_id, sort_on = REQUEST.form["setSelectionQuickSortOrder"].split(".", 1) @@ -436,14 +437,13 @@ class SelectionTool( BaseTool, UniqueObject, SimpleItem ): form_id = REQUEST.form['dialog_id'] else: form_id = REQUEST.form['form_id'] - if selection_name is None: - if REQUEST.form.has_key('selection_name'): + + if listbox_id is not None: + selection_name_key = "%s_list_selection_name" %listbox_id + selection_name = REQUEST.form[selection_name_key] + elif selection_name is None: selection_name = REQUEST.form['selection_name'] - else: - object_path = REQUEST.form['object_path'] - o = self.restrictedTraverse(object_path) - form = getattr(o, form_id) - selection_name = form[listbox_id].get_value('selection_name') + selection = self.getSelectionFor(selection_name, REQUEST=REQUEST) if selection is not None: current_sort_on = self.getSelectionSortOrder(selection_name)