Refactored flask flash messages

This commit is contained in:
Éloi Rivard 2020-10-31 18:22:24 +01:00
parent a925325fc5
commit 1300265a14
11 changed files with 47 additions and 66 deletions

View file

@ -43,6 +43,8 @@ def login():
flash(_("Login failed, please check your information"), "error") flash(_("Login failed, please check your information"), "error")
return render_template("login.html", form=form) return render_template("login.html", form=form)
user = User.get(form.login.data)
flash(_(f"Connection successful. Welcome {user.name}"), "success")
return redirect(url_for("canaille.account.index")) return redirect(url_for("canaille.account.index"))
return render_template("login.html", form=form) return render_template("login.html", form=form)
@ -50,8 +52,12 @@ def login():
@bp.route("/logout") @bp.route("/logout")
def logout(): def logout():
if current_user(): user = current_user()
current_user().logout() if user:
flash(
_(f"You have been disconnected. See you next time {user.name}"), "success"
)
user.logout()
return redirect("/") return redirect("/")

View file

@ -1,18 +1,15 @@
{% extends 'base.html' %} {% extends 'base.html' %}
{% import 'fomanticui.j2' as sui %} {% import 'fomanticui.j2' as sui %}
{% import 'flask.j2' as flask %}
{% block content %} {% block content %}
<div class="loginform"> <div class="loginform">
<h3 class="ui top attached header"> <h3 class="ui top attached header">
{% trans %}View a authorization{% endtrans %} {% trans %}View a authorization{% endtrans %}
</h3> </h3>
{% with messages = get_flashed_messages(with_categories=true) %}
{% for category, message in messages %} {{ flask.messages() }}
<div class="ui attached message {{ category }}">
{{ message }}
</div>
{% endfor %}
{% endwith %}
<div class="ui attached clearing segment"> <div class="ui attached clearing segment">
<ul> <ul>
{% for attr in authorization.may %} {% for attr in authorization.may %}

View file

@ -1,18 +1,15 @@
{% extends 'base.html' %} {% extends 'base.html' %}
{% import 'fomanticui.j2' as sui %} {% import 'fomanticui.j2' as sui %}
{% import 'flask.j2' as flask %}
{% block content %} {% block content %}
<div class="loginform"> <div class="loginform">
<h3 class="ui top attached header"> <h3 class="ui top attached header">
{% trans %}Add a client{% endtrans %} {% trans %}Add a client{% endtrans %}
</h3> </h3>
{% with messages = get_flashed_messages(with_categories=true) %}
{% for category, message in messages %} {{ flask.messages() }}
<div class="ui attached message {{ category }}">
{{ message }}
</div>
{% endfor %}
{% endwith %}
<div class="ui attached clearing segment"> <div class="ui attached clearing segment">
{{ sui.render_form(form, _("Confirm")) }} {{ sui.render_form(form, _("Confirm")) }}
</div> </div>

View file

@ -1,18 +1,15 @@
{% extends 'base.html' %} {% extends 'base.html' %}
{% import 'fomanticui.j2' as sui %} {% import 'fomanticui.j2' as sui %}
{% import 'flask.j2' as flask %}
{% block content %} {% block content %}
<div class="loginform"> <div class="loginform">
<h3 class="ui top attached header"> <h3 class="ui top attached header">
{% trans %}Edit a client{% endtrans %} {% trans %}Edit a client{% endtrans %}
</h3> </h3>
{% with messages = get_flashed_messages(with_categories=true) %}
{% for category, message in messages %} {{ flask.messages() }}
<div class="ui attached message {{ category }}">
{{ message }}
</div>
{% endfor %}
{% endwith %}
<div class="ui attached clearing segment"> <div class="ui attached clearing segment">
<div class="ui form"> <div class="ui form">
<form id="readonly"> <form id="readonly">

View file

@ -1,18 +1,15 @@
{% extends 'base.html' %} {% extends 'base.html' %}
{% import 'fomanticui.j2' as sui %} {% import 'fomanticui.j2' as sui %}
{% import 'flask.j2' as flask %}
{% block content %} {% block content %}
<div class="loginform"> <div class="loginform">
<h3 class="ui top attached header"> <h3 class="ui top attached header">
{% trans %}View a token{% endtrans %} {% trans %}View a token{% endtrans %}
</h3> </h3>
{% with messages = get_flashed_messages(with_categories=true) %}
{% for category, message in messages %} {{ flask.messages() }}
<div class="ui attached message {{ category }}">
{{ message }}
</div>
{% endfor %}
{% endwith %}
<div class="ui attached clearing segment"> <div class="ui attached clearing segment">
<ul> <ul>
{% for attr in token.may %} {% for attr in token.may %}

View file

@ -1,4 +1,5 @@
{% extends 'base.html' %} {% extends 'base.html' %}
{% import 'flask.j2' as flask %}
{% block style %} {% block style %}
<link href="/static/datatables/jquery.dataTables.min.css" rel="stylesheet"> <link href="/static/datatables/jquery.dataTables.min.css" rel="stylesheet">
@ -22,13 +23,7 @@
</div> </div>
</h2> </h2>
{% with messages = get_flashed_messages(with_categories=true) %} {{ flask.messages() }}
{% for category, message in messages %}
<div class="ui attached message {{ category }}">
{{ message }}
</div>
{% endfor %}
{% endwith %}
{% if consents %} {% if consents %}
<div class="ui centered cards"> <div class="ui centered cards">

View file

@ -0,0 +1,9 @@
{% macro messages() %}
{% with messages = get_flashed_messages(with_categories=true) %}
{% for category, message in messages %}
<div class="ui attached message {{ category }}">
{{ message }}
</div>
{% endfor %}
{% endwith %}
{% endmacro %}

View file

@ -1,5 +1,6 @@
{% extends 'base.html' %} {% extends 'base.html' %}
{% import 'fomanticui.j2' as sui %} {% import 'fomanticui.j2' as sui %}
{% import 'flask.j2' as flask %}
{% block content %} {% block content %}
<div class="loginform"> <div class="loginform">
@ -11,13 +12,9 @@
{% trans %}Forgotten password{% endtrans %} {% trans %}Forgotten password{% endtrans %}
</div> </div>
</h3> </h3>
{% with messages = get_flashed_messages(with_categories=true) %}
{% for category, message in messages %} {{ flask.messages() }}
<div class="ui attached message {{ category }}">
{{ message }}
</div>
{% endfor %}
{% endwith %}
<div class="ui attached message"> <div class="ui attached message">
{% trans %} {% trans %}
After this form is sent, if the email address or the login you provided After this form is sent, if the email address or the login you provided

View file

@ -1,5 +1,6 @@
{% extends 'base.html' %} {% extends 'base.html' %}
{% import 'fomanticui.j2' as sui %} {% import 'fomanticui.j2' as sui %}
{% import 'flask.j2' as flask %}
{% block content %} {% block content %}
<div class="ui clearing segment"> <div class="ui clearing segment">
@ -16,13 +17,7 @@
<div class="sub header">{% trans %}Log-in and manage your authorizations.{% endtrans %}</div> <div class="sub header">{% trans %}Log-in and manage your authorizations.{% endtrans %}</div>
</h2> </h2>
{% with messages = get_flashed_messages(with_categories=true) %} {{ flask.messages() }}
{% for category, message in messages %}
<div class="ui attached message {{ category }}">
{{ message }}
</div>
{% endfor %}
{% endwith %}
<form method="POST" <form method="POST"
id="{{ form.id or form.__class__.__name__|lower }}" id="{{ form.id or form.__class__.__name__|lower }}"

View file

@ -1,5 +1,6 @@
{% extends 'base.html' %} {% extends 'base.html' %}
{% import 'fomanticui.j2' as sui %} {% import 'fomanticui.j2' as sui %}
{% import 'flask.j2' as flask %}
{% block content %} {% block content %}
<div class="ui clearing segment"> <div class="ui clearing segment">
@ -12,14 +13,7 @@
</div> </div>
</h2> </h2>
{% with messages = get_flashed_messages(with_categories=true) %} {{ flask.messages() }}
{% for category, message in messages %}
<div class="ui attached message {{ category }}">
{{ message }}
</div>
{% endfor %}
{% endwith %}
{{ sui.render_form(form, _("Edit"), action=request.url) }} {{ sui.render_form(form, _("Edit"), action=request.url) }}
</div> </div>
{% endblock %} {% endblock %}

View file

@ -1,5 +1,6 @@
{% extends 'base.html' %} {% extends 'base.html' %}
{% import 'fomanticui.j2' as sui %} {% import 'fomanticui.j2' as sui %}
{% import 'flask.j2' as flask %}
{% block content %} {% block content %}
<div class="loginform"> <div class="loginform">
@ -11,13 +12,9 @@
{% trans %}Password reset{% endtrans %} {% trans %}Password reset{% endtrans %}
</div> </div>
</h3> </h3>
{% with messages = get_flashed_messages(with_categories=true) %}
{% for category, message in messages %} {{ flask.messages() }}
<div class="ui attached message {{ category }}">
{{ message }}
</div>
{% endfor %}
{% endwith %}
<div class="ui attached clearing segment"> <div class="ui attached clearing segment">
{{ sui.render_form(form, _("Password reset"), action=url_for("canaille.account.reset", uid=uid, hash=hash)) }} {{ sui.render_form(form, _("Password reset"), action=url_for("canaille.account.reset", uid=uid, hash=hash)) }}
</div> </div>