mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-07-14 18:30:15 -04:00
Add flash messages and error handling to delete folder flow
This commit is contained in:
@@ -406,11 +406,31 @@ def delete_template_folder(service_id, template_folder_id):
|
||||
if not current_service.has_permission('edit_folders'):
|
||||
abort(403)
|
||||
form = TemplateFolderForm()
|
||||
template_folder_path = current_service.get_template_folder_path(template_folder_id)
|
||||
template_folder_name = template_folder_path[-1]["name"]
|
||||
if request.method == 'POST':
|
||||
try:
|
||||
template_folder_api_client.delete_template_folder(current_service.id, template_folder_id)
|
||||
|
||||
template_folder_api_client.delete_template_folder(current_service.id, template_folder_id)
|
||||
flash("'{}' folder has been removed".format(template_folder_name), 'info')
|
||||
return redirect(
|
||||
url_for('.choose_template', service_id=service_id)
|
||||
)
|
||||
except HTTPError as e:
|
||||
msg = "Folder is not empty"
|
||||
if e.status_code == 400 and msg in e.message:
|
||||
flash("'{}' folder is not empty".format(template_folder_name), 'info')
|
||||
return redirect(url_for('.choose_template', service_id=service_id))
|
||||
else:
|
||||
abort(500, e)
|
||||
|
||||
return redirect(
|
||||
url_for('.choose_template', service_id=service_id)
|
||||
flash("Are you sure you want to remove '{}' folder?".format(template_folder_name), 'remove')
|
||||
return render_template(
|
||||
'views/templates/manage-template-folder.html',
|
||||
form=form,
|
||||
template_folder_path=template_folder_path,
|
||||
current_service_id=current_service.id,
|
||||
template_folder_id=template_folder_id
|
||||
)
|
||||
|
||||
|
||||
|
||||
@@ -382,7 +382,7 @@ def test_delete_folder(client_request, service_one, mock_get_template_folders, m
|
||||
mock_delete = mocker.patch('app.template_folder_api_client.delete_template_folder')
|
||||
folder_id = str(uuid.uuid4())
|
||||
mock_get_template_folders.return_value = [
|
||||
{'id': folder_id, 'name': 'folder_two', 'parent_id': None},
|
||||
{'id': folder_id, 'name': 'sacrifice', 'parent_id': None},
|
||||
]
|
||||
service_one['permissions'] += ['edit_folders']
|
||||
|
||||
|
||||
Reference in New Issue
Block a user