From 980f75029fedb492938266763703ab678c7023e2 Mon Sep 17 00:00:00 2001 From: Rebecca Law Date: Wed, 20 Mar 2019 17:04:44 +0000 Subject: [PATCH] This is a fix for delete folder when the service has permission to edit folder permissions. --- app/main/views/templates.py | 19 +++++-------------- tests/app/main/views/test_template_folders.py | 3 ++- 2 files changed, 7 insertions(+), 15 deletions(-) diff --git a/app/main/views/templates.py b/app/main/views/templates.py index 97e1b1515..cd26a1806 100644 --- a/app/main/views/templates.py +++ b/app/main/views/templates.py @@ -462,15 +462,12 @@ def manage_template_folder(service_id, template_folder_id): @login_required @user_has_permissions('manage_templates') def delete_template_folder(service_id, 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( template_type="all", template_folder_id=template_folder_id )) > 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( url_for( '.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': + try: 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: abort(500, e) - - flash("Are you sure you want to delete the ‘{}’ folder?".format(template_folder['name']), 'delete') - return render_template( - '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", - ) + else: + flash("Are you sure you want to delete the ‘{}’ folder?".format(template_folder['name']), 'delete') + return manage_template_folder(service_id, template_folder_id) @main.route("/services//templates/add-", methods=['GET', 'POST']) diff --git a/tests/app/main/views/test_template_folders.py b/tests/app/main/views/test_template_folders.py index 1b0db751a..d29e0b867 100644 --- a/tests/app/main/views/test_template_folders.py +++ b/tests/app/main/views/test_template_folders.py @@ -569,8 +569,9 @@ def test_manage_folder_users( 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()) mock_get_template_folders.side_effect = [[ {'id': folder_id, 'name': 'sacrifice', 'parent_id': None},