From 0b62d1e75510e60475d60c0f9805f03cc42f122f Mon Sep 17 00:00:00 2001 From: Chris Hill-Scott Date: Thu, 7 Jan 2016 16:24:43 +0000 Subject: [PATCH] Add confirm loop MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit For pages where - we want you to be sure that you want to do what you’re about to do - we want to be sure it’s you trying to do the thing This adds a page that asks the user to confirm their password. --- .../stylesheets/components/browse-list.scss | 2 +- .../stylesheets/components/submit-form.scss | 3 +- app/main/views/service_settings.py | 42 +++++++++++++- app/templates/components/list.html | 11 ---- app/templates/components/textbox.html | 4 +- app/templates/views/service-settings.html | 56 +++++++++---------- .../views/service-settings/confirm.html | 27 +++++++++ .../views/service-settings/delete.html | 37 +++++++++--- .../views/service-settings/name.html | 22 +++++--- .../service-settings/request-to-go-live.html | 37 ++++++++---- .../views/service-settings/status.html | 18 +++--- tests/app/main/views/test_service_settings.py | 50 +++++++++++++++-- 12 files changed, 227 insertions(+), 82 deletions(-) delete mode 100644 app/templates/components/list.html create mode 100644 app/templates/views/service-settings/confirm.html diff --git a/app/assets/stylesheets/components/browse-list.scss b/app/assets/stylesheets/components/browse-list.scss index 1393aa352..abb95ecc0 100644 --- a/app/assets/stylesheets/components/browse-list.scss +++ b/app/assets/stylesheets/components/browse-list.scss @@ -20,7 +20,7 @@ } &-hint { - @include core-16; + @include core-19; margin-top: 5px; } diff --git a/app/assets/stylesheets/components/submit-form.scss b/app/assets/stylesheets/components/submit-form.scss index 7a6681e46..8b98d2905 100644 --- a/app/assets/stylesheets/components/submit-form.scss +++ b/app/assets/stylesheets/components/submit-form.scss @@ -12,7 +12,8 @@ .button {} .button-destructive { - @include button($error-colour) + @include button($error-colour); + padding: 0.52632em 0.78947em 0.26316em 0.78947em; } } diff --git a/app/main/views/service_settings.py b/app/main/views/service_settings.py index 0bdd9ba71..768a08a42 100644 --- a/app/main/views/service_settings.py +++ b/app/main/views/service_settings.py @@ -1,4 +1,4 @@ -from flask import render_template, redirect, request, url_for +from flask import render_template, redirect, request, url_for, abort from flask_login import login_required from app.main import main @@ -25,6 +25,18 @@ def name(): 'views/service-settings/name.html', service=service ) + elif request.method == 'POST': + return redirect(url_for('.confirm_name_change')) + + +@main.route("/service-settings/name/confirm", methods=['GET', 'POST']) +def confirm_name_change(): + if request.method == 'GET': + return render_template( + 'views/service-settings/confirm.html', + heading='Rename service', + submit_button_text='Confirm' + ) elif request.method == 'POST': return redirect(url_for('.service_settings')) @@ -47,6 +59,19 @@ def status(): 'views/service-settings/status.html', service=service ) + elif request.method == 'POST': + return redirect(url_for('.confirm_status_change')) + + +@main.route("/service-settings/status/confirm", methods=['GET', 'POST']) +def confirm_status_change(): + if request.method == 'GET': + return render_template( + 'views/service-settings/confirm.html', + heading='Turn off outgoing messages', + submit_button_text='Confirm', + destructive=True + ) elif request.method == 'POST': return redirect(url_for('.service_settings')) @@ -59,4 +84,17 @@ def delete(): service=service ) elif request.method == 'POST': - return redirect(url_for('.index')) + return redirect(url_for('.confirm_delete')) + + +@main.route("/service-settings/delete/confirm", methods=['GET', 'POST']) +def confirm_delete(): + if request.method == 'GET': + return render_template( + 'views/service-settings/confirm.html', + heading='Delete service', + submit_button_text='Confirm', + destructive=True + ) + elif request.method == 'POST': + return redirect(url_for('.dashboard')) diff --git a/app/templates/components/list.html b/app/templates/components/list.html deleted file mode 100644 index 71025a8ed..000000000 --- a/app/templates/components/list.html +++ /dev/null @@ -1,11 +0,0 @@ -{% macro list(items) %} - {% if items %} - - {% endif %} -{% endmacro %} diff --git a/app/templates/components/textbox.html b/app/templates/components/textbox.html index a32a76c4b..7a74f0985 100644 --- a/app/templates/components/textbox.html +++ b/app/templates/components/textbox.html @@ -1,8 +1,8 @@ -{% macro textbox(name, label, value='', small=True, highlight_tags=False) %} +{% macro textbox(name, label, value='', small=True, highlight_tags=False, password=False) %}
{% if small %} - + {% else %}