mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-09-06 06:38:24 -04:00
Merge pull request #2864 from alphagov/fix-delete-folder-with-permissions
Delete folder bug fix
This commit is contained in:
@@ -462,15 +462,12 @@ def manage_template_folder(service_id, template_folder_id):
|
|||||||
@login_required
|
@login_required
|
||||||
@user_has_permissions('manage_templates')
|
@user_has_permissions('manage_templates')
|
||||||
def delete_template_folder(service_id, template_folder_id):
|
def delete_template_folder(service_id, template_folder_id):
|
||||||
|
|
||||||
template_folder = current_service.get_template_folder(template_folder_id)
|
template_folder = current_service.get_template_folder(template_folder_id)
|
||||||
|
|
||||||
form = TemplateFolderForm(name=template_folder['name'])
|
|
||||||
|
|
||||||
if len(current_service.get_template_folders_and_templates(
|
if len(current_service.get_template_folders_and_templates(
|
||||||
template_type="all", template_folder_id=template_folder_id
|
template_type="all", template_folder_id=template_folder_id
|
||||||
)) > 0:
|
)) > 0:
|
||||||
flash("You must empty this folder before you can delete it".format(template_folder['name']), 'info')
|
flash("You must empty this folder before you can delete it", 'info')
|
||||||
return redirect(
|
return redirect(
|
||||||
url_for(
|
url_for(
|
||||||
'.choose_template', service_id=service_id, template_type="all", template_folder_id=template_folder_id
|
'.choose_template', service_id=service_id, template_type="all", template_folder_id=template_folder_id
|
||||||
@@ -478,6 +475,7 @@ def delete_template_folder(service_id, template_folder_id):
|
|||||||
)
|
)
|
||||||
|
|
||||||
if request.method == 'POST':
|
if request.method == 'POST':
|
||||||
|
|
||||||
try:
|
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)
|
||||||
|
|
||||||
@@ -498,16 +496,9 @@ def delete_template_folder(service_id, template_folder_id):
|
|||||||
)
|
)
|
||||||
else:
|
else:
|
||||||
abort(500, e)
|
abort(500, e)
|
||||||
|
else:
|
||||||
flash("Are you sure you want to delete the ‘{}’ folder?".format(template_folder['name']), 'delete')
|
flash("Are you sure you want to delete the ‘{}’ folder?".format(template_folder['name']), 'delete')
|
||||||
return render_template(
|
return manage_template_folder(service_id, template_folder_id)
|
||||||
'views/templates/manage-template-folder.html',
|
|
||||||
form=form,
|
|
||||||
template_folder_path=current_service.get_template_folder_path(template_folder_id),
|
|
||||||
current_service_id=current_service.id,
|
|
||||||
template_folder_id=template_folder_id,
|
|
||||||
template_type="all",
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
@main.route("/services/<service_id>/templates/add-<template_type>", methods=['GET', 'POST'])
|
@main.route("/services/<service_id>/templates/add-<template_type>", methods=['GET', 'POST'])
|
||||||
|
|||||||
@@ -569,8 +569,9 @@ def test_manage_folder_users(
|
|||||||
|
|
||||||
|
|
||||||
def test_delete_template_folder_should_request_confirmation(
|
def test_delete_template_folder_should_request_confirmation(
|
||||||
client_request, service_one, mock_get_template_folders, mocker
|
client_request, service_one, mock_get_template_folders, mocker,
|
||||||
):
|
):
|
||||||
|
mocker.patch('app.models.service.Service.active_users', [])
|
||||||
folder_id = str(uuid.uuid4())
|
folder_id = str(uuid.uuid4())
|
||||||
mock_get_template_folders.side_effect = [[
|
mock_get_template_folders.side_effect = [[
|
||||||
{'id': folder_id, 'name': 'sacrifice', 'parent_id': None},
|
{'id': folder_id, 'name': 'sacrifice', 'parent_id': None},
|
||||||
|
|||||||
Reference in New Issue
Block a user