From 1fb7a2515f6446567ac1c646315d94bfe6628acc Mon Sep 17 00:00:00 2001 From: Alexey Bezhan Date: Wed, 6 Mar 2019 14:54:53 +0000 Subject: [PATCH] Return all templates for the user if the folder permissions flag is off Putting the permission check in the get_user_template_folders allows us to replace `all_template_folders` usage with the new method without having to worry about the temporary service permission flag. --- app/models/service.py | 3 +++ tests/app/models/test_service.py | 2 ++ 2 files changed, 5 insertions(+) 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 == [