diff options
author | Jose M. Guisado <jguisado@soleta.eu> | 2021-02-16 13:18:38 +0000 |
---|---|---|
committer | Jose M. Guisado <jguisado@soleta.eu> | 2021-02-16 13:18:38 +0000 |
commit | 199854f1e90335ea37987a58efcde2ee6a3dd38a (patch) | |
tree | e75283324f565921cce0972db24c7652e2880acd | |
parent | 989dc5bd36959c785ffabab02eade3a0719e6093 (diff) |
Start using Flask flash messages
These are used to store a message string that can be later accessed. We
can use Flask flash messages to alert about any error or providing info
when processing a request.
-rw-r--r-- | ogcp/templates/base.html | 15 | ||||
-rw-r--r-- | ogcp/views.py | 19 |
2 files changed, 25 insertions, 9 deletions
diff --git a/ogcp/templates/base.html b/ogcp/templates/base.html index 94f4579..4304e42 100644 --- a/ogcp/templates/base.html +++ b/ogcp/templates/base.html @@ -12,6 +12,21 @@ <body> {% include 'nav.html' %} {% block nav %}{% endblock %} + {% block flash %} + {% for category, message in get_flashed_messages(with_categories=True) %} + {% if category == 'info' %} + <div class="alert alert-info alert-dismissible fade show m-1" role="alert"> + {% elif category == 'error' %} + <div class="alert alert-danger alert-dismissible fade show m-1" role="alert"> + {% endif %} + {{ message }} + <button type="button" class="close" data-dismiss="alert" aria-label="{{ _('Close') }}"> + <span aria-hidden="true">×</span> + </button> + </div> + {% endfor %} + {% endblock %} + <div id="content">{% block content %}{% endblock %}</div> <div id="footer"> {% block footer %}{% endblock %} diff --git a/ogcp/views.py b/ogcp/views.py index 14db2dd..d8cc9c4 100644 --- a/ogcp/views.py +++ b/ogcp/views.py @@ -1,4 +1,6 @@ -from flask import g, render_template, url_for, redirect, request, jsonify, make_response +from flask import ( + g, render_template, url_for, flash, redirect, request, jsonify, make_response +) from ogcp.forms.action_forms import ( WOLForm, PartitionForm, ClientDetailsForm, HardwareForm, SessionForm, ImageRestoreForm, ImageCreateForm, SoftwareForm @@ -111,10 +113,11 @@ def action_wol(): form = WOLForm(request.form) if request.method == 'POST' and form.validate(): wol_type = form.wol_type.data - ips = parse_ips(request.form.to_dict()) - payload = {'type': wol_type, 'clients': list(ips)} + ips = form.ips.data.split(' ') + payload = {'type': wol_type, 'clients': ips} g.server.post('/wol', payload) - return make_response("200 OK", 200) + flash(_('Wake On Lan request sent successfully'), category='info') + return redirect(url_for("scopes")) else: ips = parse_ips(request.args.to_dict()) form.ips.data = " ".join(ips) @@ -312,11 +315,9 @@ def action_software(): 'disk': disk, 'partition': partition}) if r.status_code == requests.codes.ok: - return make_response(f"Se generĂ³ correctamente el perfil " - f"software de {ips[0]} D:{disk} " - f"P:{partition}", - 200) - + flash(_('Software profile request sent successfully'), category='info') + return redirect(url_for("scopes")) + flash(_(f'Error processing software profile request: ({r.status})'), category='error') return make_response("400 Bad Request", 400) else: ips = parse_ips(request.args.to_dict()) |