From 464368ebf37f7f2fb13951de455dd75721d5c86c Mon Sep 17 00:00:00 2001 From: davelopez <46503462+davelopez@users.noreply.github.com> Date: Thu, 1 Dec 2022 18:48:11 +0100 Subject: [PATCH 1/2] Sort always folders by name If the folder cannot be sorted by the specified column --- lib/galaxy/managers/folders.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/galaxy/managers/folders.py b/lib/galaxy/managers/folders.py index d036342cb52..0796836b16c 100644 --- a/lib/galaxy/managers/folders.py +++ b/lib/galaxy/managers/folders.py @@ -405,6 +405,8 @@ class FolderManager: if payload.order_by in FOLDER_SORT_COLUMN_MAP: sort_column = FOLDER_SORT_COLUMN_MAP[payload.order_by](model.LibraryFolder) sub_folders_query = sub_folders_query.order_by(sort_column.desc() if payload.sort_desc else sort_column) + else: # Sort by name alphabetically by default + sub_folders_query = sub_folders_query.order_by(model.LibraryFolder.name) if limit is not None: sub_folders_query = sub_folders_query.limit(limit) if offset is not None: From 4566b59c01b5313076f8dd00aca74443cd53966e Mon Sep 17 00:00:00 2001 From: davelopez <46503462+davelopez@users.noreply.github.com> Date: Thu, 1 Dec 2022 19:11:02 +0100 Subject: [PATCH 2/2] Make sure there is no ambiguity ordering by type Co-authored-by: Nicola Soranzo --- lib/galaxy_test/api/test_folder_contents.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/galaxy_test/api/test_folder_contents.py b/lib/galaxy_test/api/test_folder_contents.py index 117ce0277be..80b8c957add 100644 --- a/lib/galaxy_test/api/test_folder_contents.py +++ b/lib/galaxy_test/api/test_folder_contents.py @@ -259,7 +259,7 @@ class TestFolderContentsApi(ApiTestCase): dataset_names = ["a", "b", "c"] ldda_messages = ["Message Z", "Message Y", "Message X"] dataset_sizes = [50, 100, 10] - file_types = ["txt", "csv", "txt"] + file_types = ["txt", "csv", "json"] for index, name in enumerate(dataset_names): self._create_dataset_in_folder( history_id, @@ -285,7 +285,7 @@ class TestFolderContentsApi(ApiTestCase): self._assert_folder_order_by_is_expected(folder_id, order_by, sort_desc, expected_order_by_name) order_by = "type" - expected_order_by_name = ["Folder_A", "Folder_B", "Folder_C", "b", "a", "c"] + expected_order_by_name = ["Folder_A", "Folder_B", "Folder_C", "b", "c", "a"] self._assert_folder_order_by_is_expected(folder_id, order_by, sort_desc, expected_order_by_name) order_by = "size"