diff --git a/atst/routes/requests/financial_verification.py b/atst/routes/requests/financial_verification.py index c7806ccb..a2b70eec 100644 --- a/atst/routes/requests/financial_verification.py +++ b/atst/routes/requests/financial_verification.py @@ -203,7 +203,7 @@ def financial_verification(request_id): ).execute() if request.review_comment: - flash("request_review_comment", {"comment": request.review_comment}) + flash("request_review_comment", comment=request.review_comment) return render_template( "requests/financial_verification.html", diff --git a/atst/routes/requests/index.py b/atst/routes/requests/index.py index 67ed7064..55967ecf 100644 --- a/atst/routes/requests/index.py +++ b/atst/routes/requests/index.py @@ -102,6 +102,6 @@ def requests_index(): context = RequestsIndex(g.current_user).execute() if context.get("num_action_required"): - flash("requests_action_required", {"count": context.get("num_action_required")}) + flash("requests_action_required", count=context.get("num_action_required")) return render_template("requests/index.html", **context) diff --git a/atst/routes/requests/requests_form.py b/atst/routes/requests/requests_form.py index e8d2647d..98c25596 100644 --- a/atst/routes/requests/requests_form.py +++ b/atst/routes/requests/requests_form.py @@ -62,7 +62,7 @@ def requests_form_update(screen=1, request_id=None): flash("request_incomplete") if request.review_comment: - flash("request_review_comment", {"comment": request.review_comment}) + flash("request_review_comment", comment=request.review_comment) return render_template( "requests/screen-%d.html" % int(screen), diff --git a/atst/routes/workspaces/invitations.py b/atst/routes/workspaces/invitations.py index 6e35be31..6268c5d0 100644 --- a/atst/routes/workspaces/invitations.py +++ b/atst/routes/workspaces/invitations.py @@ -41,5 +41,5 @@ def revoke_invitation(workspace_id, token): def resend_invitation(workspace_id, token): invite = Invitations.resend(g.current_user, workspace_id, token) send_invite_email(g.current_user.full_name, invite.token, invite.email) - flash("resent_workspace_invitation", {"user_name": invite.user_name}) + flash("resent_workspace_invitation", user_name=invite.user_name) return redirect(url_for("workspaces.workspace_members", workspace_id=workspace_id)) diff --git a/atst/routes/workspaces/members.py b/atst/routes/workspaces/members.py index 8d6e9e94..01be80e0 100644 --- a/atst/routes/workspaces/members.py +++ b/atst/routes/workspaces/members.py @@ -76,10 +76,7 @@ def create_member(workspace_id): invite = Invitations.create(user, new_member, form.data["email"]) send_invite_email(g.current_user.full_name, invite.token, invite.email) - flash( - "new_workspace_member", - {"new_member": new_member, "workspace": workspace}, - ) + flash("new_workspace_member", new_member=new_member, workspace=workspace) return redirect( url_for("workspaces.workspace_members", workspace_id=workspace.id) @@ -162,7 +159,8 @@ def update_member(workspace_id, member_id): flash( "workspace_role_updated", - {"member_name": member.user_name, "updated_role": new_role_name}, + member_name=member.user_name, + updated_role=new_role_name, ) return redirect( @@ -182,5 +180,5 @@ def update_member(workspace_id, member_id): ) def revoke_access(workspace_id, member_id): revoked_role = Workspaces.revoke_access(g.current_user, workspace_id, member_id) - flash("revoked_workspace_access", {"member_name": revoked_role.user.full_name}) + flash("revoked_workspace_access", member_name=revoked_role.user.full_name) return redirect(url_for("workspaces.workspace_members", workspace_id=workspace_id)) diff --git a/atst/utils/flash.py b/atst/utils/flash.py index e5dc8c7a..98612ea9 100644 --- a/atst/utils/flash.py +++ b/atst/utils/flash.py @@ -99,9 +99,8 @@ MESSAGES = { } -def formatted_flash(message_name, message_args=None): +def formatted_flash(message_name, **message_args): config = MESSAGES[message_name] - args = message_args or {} - title = render_template_string(config["title_template"], **args) - message = render_template_string(config["message_template"], **args) + title = render_template_string(config["title_template"], **message_args) + message = render_template_string(config["message_template"], **message_args) flash({"title": title, "message": message}, config["category"]) diff --git a/tests/utils/test_flash.py b/tests/utils/test_flash.py new file mode 100644 index 00000000..74727bee --- /dev/null +++ b/tests/utils/test_flash.py @@ -0,0 +1,10 @@ +from atst.utils.flash import formatted_flash as flash +from flask import get_flashed_messages + + +def test_flash_message(): + flash("revoked_workspace_access", member_name="Lando") + messages = get_flashed_messages() + message_info = messages[0] + assert "message" in message_info + assert "Lando" in message_info["message"]