diff --git a/atst/routes/ccpo.py b/atst/routes/ccpo.py index c2846aa1..7c9ed484 100644 --- a/atst/routes/ccpo.py +++ b/atst/routes/ccpo.py @@ -56,3 +56,12 @@ def confirm_new_user(): Users.give_ccpo_perms(user) flash("ccpo_user_added", user_name=user.full_name) return redirect(url_for("ccpo.users")) + + +@bp.route("/ccpo-users/remove-access/", methods=["POST"]) +@user_can(Permissions.DELETE_CCPO_USER, message="remove ccpo user") +def remove_access(user_id): + user = Users.get(user_id) + # update user to remove perms + # flash alert to confirm removing ccpo perms + return redirect(url_for("ccpo.users")) diff --git a/templates/ccpo/users.html b/templates/ccpo/users.html index bc77a83f..47ebe17d 100644 --- a/templates/ccpo/users.html +++ b/templates/ccpo/users.html @@ -1,6 +1,9 @@ {% extends "base.html" %} +{% from "components/alert.html" import Alert %} +{% from "components/delete_confirmation.html" import DeleteConfirmation %} {% from "components/icon.html" import Icon %} +{% from "components/modal.html" import Modal %} {% block content %}
@@ -20,10 +23,21 @@ {% for user in users %} + {% set modal_id = "disable_ccpo_user_{}".format(user.dod_id) %} + {% set disable_button_class = 'button-danger-outline' %} + {% if user == g.current_user %} + {% set disable_button_class = "usa-button-disabled" %} + {% endif %} + {{ user.full_name }} {{ user.email }} {{ user.dod_id }} + + + Disable + + {% endfor %} @@ -36,4 +50,42 @@ {% endif %} + {% if user_can(permissions.DELETE_CCPO_USER) %} + {% for user in users %} + {% set modal_id = "disable_ccpo_user_{}".format(user.dod_id) %} + {% set confirmation_text = 'remove' %} + {% call Modal(name=modal_id) %} + {{ + Alert( + title=("components.modal.destructive_title" | translate), + message="Confirm removing CCPO superuser access from {}".format(user.full_name), + level="warning" + ) + }} + + +
+
+ + +
+
+
+ +
+ +
+
+
+ {% endcall %} + {% endfor %} + {% endif %} {% endblock %}