Don’t error if a user keeps same service name

Sometimes a user will hit the green button without actually changing
the service name (we saw this in a usability testing session).

Currently this gives an error saying ‘service name already in use’,
which is technically true (it’s in use by the current service) but
practically just annoying.

This commit adds some logic to silently ignore such requests.
This commit is contained in:
Chris Hill-Scott
2018-07-02 11:00:02 +01:00
parent aba9cf0ff3
commit d86291cb7a
2 changed files with 29 additions and 2 deletions

View File

@@ -113,19 +113,26 @@ def service_name_change(service_id):
form = RenameServiceForm()
if request.method == 'GET':
form.name.data = current_service.get('name')
form.name.data = current_service['name']
if form.validate_on_submit():
if form.name.data == current_service['name']:
return redirect(url_for('.service_settings', service_id=service_id))
unique_name = service_api_client.is_service_name_unique(service_id, form.name.data, email_safe(form.name.data))
if not unique_name:
form.name.errors.append("This service name is already in use")
return render_template('views/service-settings/name.html', form=form)
session['service_name_change'] = form.name.data
return redirect(url_for('.service_name_change_confirm', service_id=service_id))
return render_template(
'views/service-settings/name.html',
form=form)
form=form,
)
@main.route("/services/<service_id>/service-settings/name/confirm", methods=['GET', 'POST'])