Add folder permission check to copy template endpoint

Copying a template from another service is one place where we can't
use the `current_service` method since the source template can belong
to a different service the user has access to, so we're using an API
client method.
This commit is contained in:
Alexey Bezhan
2019-03-20 16:41:01 +00:00
parent 35fb92c02c
commit 792b625de7
2 changed files with 20 additions and 0 deletions

View File

@@ -21,6 +21,19 @@ class TemplateFolderAPIClient(NotifyAdminAPIClient):
def get_template_folders(self, service_id):
return self.get('/service/{}/template-folder'.format(service_id))['template_folders']
def get_template_folder(self, service_id, folder_id):
if folder_id is None:
return {
'id': None,
'name': 'Templates',
'parent_id': None,
}
else:
return next(
folder for folder in self.get_template_folders(service_id)
if folder['id'] == str(folder_id)
)
@cache.delete('service-{service_id}-template-folders')
@cache.delete('service-{service_id}-templates')
def move_to_folder(self, service_id, folder_id, template_ids, folder_ids):