diff --git a/app/models/service.py b/app/models/service.py index 0bc6223f8..bbcbca3c6 100644 --- a/app/models/service.py +++ b/app/models/service.py @@ -380,6 +380,9 @@ class Service(): return {folder['id'] for folder in self.all_template_folders} def get_user_template_folders(self, user_id): + if not self.has_permission("edit_folder_permissions"): + return self.all_template_folders + user_folders = [] for folder in self.all_template_folders: if user_id not in folder.get("users_with_permission", []): diff --git a/tests/app/models/test_service.py b/tests/app/models/test_service.py index 8cc79b5e9..660263013 100644 --- a/tests/app/models/test_service.py +++ b/tests/app/models/test_service.py @@ -74,6 +74,7 @@ def test_get_user_template_folders_only_returns_folders_visible_to_user( mocker ): mock_get_template_folders.return_value = _get_all_folders(active_user_with_permissions) + service_one['permissions'] = ['edit_folder_permissions'] service = Service(service_one) result = service.get_user_template_folders(active_user_with_permissions.id) assert result == [ @@ -117,6 +118,7 @@ def test_get_template_folders_shows_user_folders_when_user_id_passed_in( mocker ): mock_get_template_folders.return_value = _get_all_folders(active_user_with_permissions) + service_one['permissions'] = ['edit_folder_permissions'] service = Service(service_one) result = service.get_template_folders(user_id=active_user_with_permissions.id) assert result == [