mirror of
https://github.com/GSA/notifications-api.git
synced 2026-07-24 01:49:42 -04:00
move folders and templates to other folders
new endpoints: /services/<service_id>/move-to-folder /services/<service_id>/move-to-folder/<target_template_folder_id> * takes in a dict containing lists of `templates` and `folders` uuids. * sets parent of templates and folders to the folder specified in the URL. Or None, if there was no id specified. * if any template or folder has a differen service id, then the whole update fails * if any folder is an ancestor of the target folder, then the whole update fails (as that would cause a cyclical folder structure). * the whole function is wrapped in a single `transactional` decorator, so in case of error nothing will be saved.
This commit is contained in:
@@ -725,6 +725,13 @@ class TemplateFolder(db.Model):
|
||||
'service_id': self.service_id
|
||||
}
|
||||
|
||||
def is_parent_of(self, other):
|
||||
while other.parent is not None:
|
||||
if other.parent == self:
|
||||
return True
|
||||
other = other.parent
|
||||
return False
|
||||
|
||||
|
||||
template_folder_map = db.Table(
|
||||
'template_folder_map',
|
||||
|
||||
Reference in New Issue
Block a user