From 4520065af4ddcc3033799e7f7a1333425072f10e Mon Sep 17 00:00:00 2001 From: Pea Tyczynska Date: Tue, 13 Nov 2018 15:49:25 +0000 Subject: [PATCH] Add a delete folder link to manage folder page and basic delete endpoint --- app/main/views/templates.py | 9 +++++++++ .../views/templates/manage-template-folder.html | 10 +++++++++- tests/app/main/views/test_template_folders.py | 6 +++++- 3 files changed, 23 insertions(+), 2 deletions(-) diff --git a/app/main/views/templates.py b/app/main/views/templates.py index 5fd6e2e7f..2f6716ba3 100644 --- a/app/main/views/templates.py +++ b/app/main/views/templates.py @@ -390,9 +390,18 @@ def 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 ) +@main.route("/services//templates/folders//delete", methods=['POST']) +def delete_template_folder(service_id, template_folder_id): + if not current_service.has_permission('edit_folders'): + abort(403) + pass + + @main.route("/services//templates/add-", methods=['GET', 'POST']) @main.route("/services//templates/folders//add-", methods=['GET', 'POST']) diff --git a/app/templates/views/templates/manage-template-folder.html b/app/templates/views/templates/manage-template-folder.html index 8d9c82bc9..dd6e7db03 100644 --- a/app/templates/views/templates/manage-template-folder.html +++ b/app/templates/views/templates/manage-template-folder.html @@ -25,7 +25,15 @@ Templates {% call form_wrapper() %} {{ textbox(form.name) }} - {{ page_footer('Save') }} + {{ page_footer( + 'Save', + delete_link=url_for( + '.delete_template_folder', + service_id=current_service_id, + template_folder_id=template_folder_id + ), + delete_link_text="Delete this folder") }} + {% endcall %} {% endblock %} diff --git a/tests/app/main/views/test_template_folders.py b/tests/app/main/views/test_template_folders.py index 036aece4f..2574994b9 100644 --- a/tests/app/main/views/test_template_folders.py +++ b/tests/app/main/views/test_template_folders.py @@ -324,7 +324,11 @@ def test_get_manage_folder_page(client_request, service_one, mock_get_template_f service_id=service_one['id'], template_folder_id=folder_id ) - assert page.select_one('input[name=name]')['value'] == 'folder_two' + assert page.select_one('input[name=name]') is not None + delete_link = page.find('a', string="Delete this folder") + expected_delete_url = "/services/{}/templates/folders/{}/delete".format(service_one['id'], folder_id) + + assert expected_delete_url in delete_link["href"] def test_manage_folder_page_404s(client_request, service_one, mock_get_template_folders):