diff --git a/product/ERP5Form/SelectionTool.py b/product/ERP5Form/SelectionTool.py index c1f2b986799abdf260a5b11249493d8d76238721..45ab417b2cfab02d894172cd245d46844689d43c 100755 --- a/product/ERP5Form/SelectionTool.py +++ b/product/ERP5Form/SelectionTool.py @@ -341,11 +341,9 @@ class SelectionTool( UniqueObject, SimpleItem ): if columns is None: columns = [] selection = self.getSelectionFor(selection_name, REQUEST=REQUEST) if selection is not None: - if len(selection.selection_columns) == 0: - self.setSelectionColumns(selection_name, columns, REQUEST=REQUEST) - return selection.selection_columns - else: - return columns + if len(selection.selection_columns) > 0: + return selection.selection_columns + return columns security.declareProtected(ERP5Permissions.View, 'setSelectionStats') @@ -616,10 +614,14 @@ class SelectionTool( UniqueObject, SimpleItem ): domain_tree_mode = 0 report_tree_mode = 1 - selection.edit(flat_list_mode=flat_list_mode,domain_tree_mode=domain_tree_mode, report_tree_mode=report_tree_mode) + # It is better to reset the query when changing the display mode. + params = selection.getSelectionParams() + if 'query' in params: del params['query'] + selection.edit(params = params) + referer = request['HTTP_REFERER'] referer = referer.replace('reset=', 'noreset=') referer = referer.replace('reset:int=', 'noreset:int=')