From 347955a378eba13d124ff74ac7bfffc72e96cd28 Mon Sep 17 00:00:00 2001 From: Pea Tyczynska Date: Thu, 7 Mar 2019 15:23:18 +0000 Subject: [PATCH] Make sure that only templates inside visible folders are considered When filtering by template type we should ignore any templates that are inside folders user does not have permission for. Otherwise the parent folder can show up as empty instead of not showing up at all. This adds check for user_permissions to is_folder_visible on the service model in admin. --- app/models/service.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/app/models/service.py b/app/models/service.py index 3595c1dcb..92b88d8a1 100644 --- a/app/models/service.py +++ b/app/models/service.py @@ -424,7 +424,7 @@ class Service(): folder for folder in folders if ( folder['parent_id'] == parent_folder_id - and self.is_folder_visible(folder['id'], template_type) + and self.is_folder_visible(folder['id'], template_type, user_id) ) ] @@ -437,7 +437,7 @@ class Service(): } return self._get_by_id(self.all_template_folders, folder_id) - def is_folder_visible(self, template_folder_id, template_type='all'): + def is_folder_visible(self, template_folder_id, template_type='all', user_id=None): if template_type == 'all': return True @@ -446,8 +446,8 @@ class Service(): return True if any( - self.is_folder_visible(child_folder['id'], template_type) - for child_folder in self.get_template_folders(template_type, template_folder_id) + self.is_folder_visible(child_folder['id'], template_type, user_id) + for child_folder in self.get_template_folders(template_type, template_folder_id, user_id) ): return True