Pre-populate rename folder form with current name

Often people will be editing the existing name, not changing it
completely.

This matches what we do when someone wants to rename their template or
service.
This commit is contained in:
Chris Hill-Scott
2018-11-13 16:05:05 +00:00
parent ce798a02e4
commit 666381e23d
3 changed files with 25 additions and 2 deletions

View File

@@ -374,7 +374,10 @@ def manage_template_folder(service_id, template_folder_id):
if not current_service.has_permission('edit_folders'):
abort(403)
form = TemplateFolderForm()
form = TemplateFolderForm(
name=current_service.get_template_folder(template_folder_id)['name']
)
if form.validate_on_submit():
template_folder_api_client.update_template_folder(
current_service.id, template_folder_id, name=form.name.data

View File

@@ -1,3 +1,4 @@
from flask import abort
from notifications_utils.field import Field
from werkzeug.utils import cached_property
@@ -307,6 +308,15 @@ class Service():
)
]
def get_template_folder(self, folder_id):
try:
return next(
folder for folder in self.all_template_folders
if folder['id'] == folder_id
)
except StopIteration:
abort(404)
def is_folder_visible(self, template_folder_id, template_type='all'):
if template_type == 'all':

View File

@@ -324,7 +324,17 @@ 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]') is not None
assert page.select_one('input[name=name]')['value'] == 'folder_two'
def test_manage_folder_page_404s(client_request, service_one, mock_get_template_folders):
service_one['permissions'] += ['edit_folders']
client_request.get(
'main.manage_template_folder',
service_id=service_one['id'],
template_folder_id=str(uuid.uuid4()),
_expected_status=404,
)
def test_get_manage_folder_page_no_permissions(client_request, service_one, mock_get_template_folders):