change operations to kebab-case

so that they better align with the front-end, where they'll be used in
data attributes. Also, making the kebab case is nice because it doesn't
give favouritism to either JS or python naming conventions
This commit is contained in:
Leo Hemsted
2018-12-04 14:47:05 +00:00
parent e27540243d
commit 97f663f99e
6 changed files with 46 additions and 46 deletions

View File

@@ -50,7 +50,7 @@
// gross hack - pretend we're in the choose actions state, then pretend a checkbox was clicked to work out
// whether to show zero or non-zero options. This calls a render at the end
this.currentState = 'nothingSelectedButtons';
this.currentState = 'nothing-selected-buttons';
this.templateFolderCheckboxChanged();
});
@@ -67,12 +67,12 @@
this.templateFolderCheckboxChanged = function() {
let numSelected = this.countSelectedCheckboxes();
if (this.currentState === 'nothingSelectedButtons' && numSelected !== 0) {
if (this.currentState === 'nothing-selected-buttons' && numSelected !== 0) {
// user has just selected first item
this.currentState = 'itemsSelectedButtons';
} else if (this.currentState === 'itemsSelectedButtons' && numSelected === 0) {
this.currentState = 'items-selected-buttons';
} else if (this.currentState === 'items-selected-buttons' && numSelected === 0) {
// user has just deselected last item
this.currentState = 'nothingSelectedButtons';
this.currentState = 'nothing-selected-buttons';
}
this.render();
@@ -91,15 +91,15 @@
this.nothingSelectedButtons = `
<div id="nothing_selected">
<button class="button-secondary" value="addNewTemplateForm">New template</button>
<button class="button-secondary" value="addNewFolderForm">New folder</button>
<button class="button-secondary" value="add-new-template">New template</button>
<button class="button-secondary" value="add-new-folder">New folder</button>
</div>
`;
this.itemsSelectedButtons = `
<div id="items_selected">
<button class="button-secondary" value="moveToFolderRadios">Move</button>
<button class="button-secondary" value="moveToNewFolderForm">Add to a new folder</button>
<button class="button-secondary" value="move-to-existing-folder">Move</button>
<button class="button-secondary" value="move-to-new-folder">Add to a new folder</button>
</div>
`;
};

View File

@@ -1165,11 +1165,11 @@ class TemplateAndFoldersSelectionForm(Form):
* unknown
currently not implemented, but in the future will try and work out if there are any obvious commands that can be
assumed based on which fields are empty vs populated.
* move_to_existing_folder
* move-to-existing-folder
must have data for templates_and_folders checkboxes, and move_to radios
* move_to_new_folder
* move-to-new-folder
must have data for move_to_new_folder_name, cannot have data for move_to_existing_folder_name
* add_new_folder
* add-new-folder
must have data for move_to_existing_folder_name, cannot have data for move_to_new_folder_name
"""
@@ -1218,9 +1218,9 @@ class TemplateAndFoldersSelectionForm(Form):
def validate(self):
self.op = request.form.get('operation')
self.is_move_op = self.op in {'move_to_existing_folder', 'move_to_new_folder'}
self.is_add_folder_op = self.op in {'add_new_folder', 'move_to_new_folder'}
self.is_add_template_op = self.op in {'add_template'}
self.is_move_op = self.op in {'move-to-existing-folder', 'move-to-new-folder'}
self.is_add_folder_op = self.op in {'add-new-folder', 'move-to-new-folder'}
self.is_add_template_op = self.op in {'add-new-template'}
if not (self.is_add_folder_op or self.is_move_op or self.is_add_template_op):
return False
@@ -1228,23 +1228,23 @@ class TemplateAndFoldersSelectionForm(Form):
return super().validate()
def get_folder_name(self):
if self.op == 'add_new_folder':
if self.op == 'add-new-folder':
return self.add_new_folder_name.data
elif self.op == 'move_to_new_folder':
elif self.op == 'move-to-new-folder':
return self.move_to_new_folder_name.data
return None
templates_and_folders = MultiCheckboxField('Choose templates or folders', validators=[
required_for_ops('move_to_new_folder', 'move_to_existing_folder')
required_for_ops('move-to-new-folder', 'move-to-existing-folder')
])
move_to = RadioFieldWithNoneOption('Choose a folder', validators=[
Optional(),
required_for_ops('move_to_new_folder', 'move_to_existing_folder')
required_for_ops('move-to-new-folder', 'move-to-existing-folder')
])
add_new_folder_name = StringField('Folder name', validators=[required_for_ops('add_new_folder')])
move_to_new_folder_name = StringField('Folder name', validators=[required_for_ops('move_to_new_folder')])
add_new_folder_name = StringField('Folder name', validators=[required_for_ops('add-new-folder')])
move_to_new_folder_name = StringField('Folder name', validators=[required_for_ops('move-to-new-folder')])
add_template_by_template_type = RadioFieldWithNoneOption('Add new', validators=[
Optional(),
required_for_ops('add_template')
required_for_ops('add-new-template')
])

View File

@@ -122,7 +122,6 @@ def choose_template(service_id, template_type='all', template_folder_id=None):
len(user_api_client.get_service_ids_for_user(current_user)) > 1
),
)
if request.method == 'POST' and templates_and_folders_form.validate_on_submit():
if not can_manage_folders():
abort(403)
@@ -142,7 +141,7 @@ def choose_template(service_id, template_type='all', template_folder_id=None):
template_nav_items=get_template_nav_items(template_folder_id),
template_type=template_type,
search_form=SearchTemplatesForm(),
templates_and_folders_form=templates_and_folders_form
templates_and_folders_form=templates_and_folders_form,
)

View File

@@ -3,16 +3,17 @@
<div id="sticky_template_forms" class="js-stick-at-bottom-when-scrolling">
<button type="submit" name="operation" value="unknown" hidden></button>
<input type="hidden" name="csrf_token" value="{{ csrf_token() }}" />
{% if templates_and_folders_form.move_to.choices and template_list.templates_to_show %}
<div id="move_to_folder_radios">
{{ radios(templates_and_folders_form.move_to) }}
{{ page_footer('Move', button_name='operation', button_value='move_to_existing_folder') }}
{{ page_footer('Move', button_name='operation', button_value='move-to-existing-folder') }}
</div>
<div id="move_to_new_folder_form">
<fieldset>
<legend class="visuallyhidden">Move to a new folder</legend>
{{ textbox(templates_and_folders_form.move_to_new_folder_name) }}
{{ page_footer('Move to a new folder', button_name='operation', button_value='move_to_new_folder') }}
{{ page_footer('Move to a new folder', button_name='operation', button_value='move-to-new-folder') }}
</fieldset>
</div>
{% endif %}
@@ -20,14 +21,14 @@
<fieldset>
<legend class="visuallyhidden">Add a new folder</legend>
{{ textbox(templates_and_folders_form.add_new_folder_name) }}
{{ page_footer('New folder', button_name='operation', button_value='add_new_folder') }}
{{ page_footer('New folder', button_name='operation', button_value='add-new-folder') }}
</fieldset>
</div>
<div id="add_new_template_form">
<fieldset>
<legend class="visuallyhidden">Add a new template</legend>
{{ radios(templates_and_folders_form.add_template_by_template_type) }}
{{ page_footer('Continue', button_name='operation', button_value='add_template') }}
{{ page_footer('Continue', button_name='operation', button_value='add-new-template') }}
</fieldset>
</div>
</div>

View File

@@ -797,10 +797,10 @@ def test_should_show_radios_and_buttons_for_move_destination_if_correct_permissi
]
assert set(x['value'] for x in page.find_all('button', {'name': 'operation'})) == {
'unknown',
'move_to_existing_folder',
'move_to_new_folder',
'add_new_folder',
'add_template',
'move-to-existing-folder',
'move-to-new-folder',
'add-new-folder',
'add-new-template',
}
@@ -821,7 +821,7 @@ def test_should_be_able_to_move_to_existing_folder(
'main.choose_template',
service_id=SERVICE_ONE_ID,
_data={
'operation': 'move_to_existing_folder',
'operation': 'move-to-existing-folder',
'move_to': PARENT_FOLDER_ID,
'templates_and_folders': [
FOLDER_TWO_ID,
@@ -868,7 +868,7 @@ def test_should_not_be_able_to_move_to_existing_folder_if_dont_have_permission(
'main.choose_template',
service_id=SERVICE_ONE_ID,
_data={
'operation': 'move_to_existing_folder',
'operation': 'move-to-existing-folder',
'move_to': PARENT_FOLDER_ID,
'templates_and_folders': [
FOLDER_TWO_ID,
@@ -900,7 +900,7 @@ def test_should_be_able_to_move_a_sub_item(
service_id=SERVICE_ONE_ID,
template_folder_id=PARENT_FOLDER_ID,
_data={
'operation': 'move_to_existing_folder',
'operation': 'move-to-existing-folder',
'move_to': '__NONE__',
'templates_and_folders': [GRANDCHILD_FOLDER_ID],
},
@@ -917,35 +917,35 @@ def test_should_be_able_to_move_a_sub_item(
@pytest.mark.parametrize('data', [
# move to existing, but add new folder name given
{
'operation': 'move_to_existing_folder',
'operation': 'move-to-existing-folder',
'templates_and_folders': [],
'add_new_folder_name': 'foo',
'move_to': PARENT_FOLDER_ID
},
# move to existing, but move to new folder name given
{
'operation': 'move_to_existing_folder',
'operation': 'move-to-existing-folder',
'templates_and_folders': [TEMPLATE_ONE_ID],
'move_to_new_folder_name': 'foo',
'move_to': PARENT_FOLDER_ID
},
# move to existing, but no templates to move
{
'operation': 'move_to_existing_folder',
'operation': 'move-to-existing-folder',
'templates_and_folders': [],
'move_to_new_folder_name': '',
'move_to': PARENT_FOLDER_ID
},
# move to new, but nothing selected to move
{
'operation': 'move_to_new_folder',
'operation': 'move-to-new-folder',
'templates_and_folders': [],
'move_to_new_folder_name': 'foo',
'move_to': None
},
# add a new template, but also select move destination
{
'operation': 'add_template',
'operation': 'add-new-template',
'templates_and_folders': [],
'move_to_new_folder_name': '',
'move_to': PARENT_FOLDER_ID,
@@ -953,7 +953,7 @@ def test_should_be_able_to_move_a_sub_item(
},
# add a new template, but also move to root folder
{
'operation': 'add_template',
'operation': 'add-new-template',
'templates_and_folders': [],
'move_to_new_folder_name': '',
'move_to': '__NONE__',
@@ -1019,7 +1019,7 @@ def test_new_folder_is_created_if_only_new_folder_is_filled_out(
data = {
'move_to_new_folder_name': '',
'add_new_folder_name': 'new folder',
'operation': 'add_new_folder'
'operation': 'add-new-folder'
}
service_one['permissions'] += ['edit_folders']
@@ -1066,7 +1066,7 @@ def test_should_be_able_to_move_to_new_folder(
service_id=SERVICE_ONE_ID,
template_folder_id=None,
_data={
'operation': 'move_to_new_folder',
'operation': 'move-to-new-folder',
'move_to_new_folder_name': 'new folder',
'templates_and_folders': [
FOLDER_TWO_ID,

View File

@@ -616,7 +616,7 @@ def test_dont_show_preview_letter_templates_for_bad_filetype(
'template_type': 'copy-existing'
}),
('main.choose_template', {
'operation': 'add_template',
'operation': 'add-new-template',
'add_template_by_template_type': 'copy-existing'
}),
))
@@ -791,7 +791,7 @@ def test_cant_copy_template_from_non_member_service(
(
'main.choose_template',
{
'operation': 'add_template',
'operation': 'add-new-template',
'add_template_by_template_type': 'email',
},
"Sending emails has been disabled for your service."
@@ -799,7 +799,7 @@ def test_cant_copy_template_from_non_member_service(
(
'main.choose_template',
{
'operation': 'add_template',
'operation': 'add-new-template',
'add_template_by_template_type': 'sms',
},
"Sending text messages has been disabled for your service."