From 8420a783927f3f51dbc81465fd9178aa85600474 Mon Sep 17 00:00:00 2001 From: leigh-mil Date: Tue, 6 Aug 2019 14:47:36 -0400 Subject: [PATCH] Add CREATE_CCPO_USER permission, create context processor for ATAT so user_can and permissions can be used in the template, add placeholder button for adding new CCPO user --- atst/domain/permission_sets.py | 1 + atst/models/permissions.py | 1 + atst/routes/__init__.py | 2 ++ atst/utils/context_processors.py | 7 +++++ templates/ccpo/users.html | 51 +++++++++++++++++++------------- 5 files changed, 41 insertions(+), 21 deletions(-) diff --git a/atst/domain/permission_sets.py b/atst/domain/permission_sets.py index ab55feac..727b34df 100644 --- a/atst/domain/permission_sets.py +++ b/atst/domain/permission_sets.py @@ -64,6 +64,7 @@ ATAT_PERMISSION_SETS = [ "description": "", "permissions": [ Permissions.VIEW_CCPO_USER, + Permissions.CREATE_CCPO_USER, Permissions.EDIT_CCPO_USER, Permissions.DELETE_CCPO_USER, ], diff --git a/atst/models/permissions.py b/atst/models/permissions.py index a7d735b8..f9e73046 100644 --- a/atst/models/permissions.py +++ b/atst/models/permissions.py @@ -2,6 +2,7 @@ class Permissions(object): # ccpo permissions VIEW_AUDIT_LOG = "view_audit_log" VIEW_CCPO_USER = "view_ccpo_user" + CREATE_CCPO_USER = "create_ccpo_user" EDIT_CCPO_USER = "edit_ccpo_user" DELETE_CCPO_USER = "delete_ccpo_user" diff --git a/atst/routes/__init__.py b/atst/routes/__init__.py index 0729d878..7860eb74 100644 --- a/atst/routes/__init__.py +++ b/atst/routes/__init__.py @@ -24,10 +24,12 @@ from atst.domain.common import Paginator from atst.domain.portfolios import Portfolios from atst.domain.authz.decorator import user_can_access_decorator as user_can from atst.models.permissions import Permissions +from atst.utils.context_processors import atat as atat_context_processor from atst.utils.flash import formatted_flash as flash bp = Blueprint("atst", __name__) +bp.context_processor(atat_context_processor) @bp.route("/") diff --git a/atst/utils/context_processors.py b/atst/utils/context_processors.py index 1e8d619a..09423204 100644 --- a/atst/utils/context_processors.py +++ b/atst/utils/context_processors.py @@ -119,3 +119,10 @@ def portfolio(): "funding_end_date": funding_end_date, "funded": funded, } + + +def atat(): + return { + "permissions": Permissions, + "user_can": user_can_view, + } diff --git a/templates/ccpo/users.html b/templates/ccpo/users.html index f3d545de..7a9bd4bc 100644 --- a/templates/ccpo/users.html +++ b/templates/ccpo/users.html @@ -1,27 +1,36 @@ {% extends "base.html" %} +{% from "components/icon.html" import Icon %} + {% block content %} -
-
- CCPO Users -
- - - - - - - - - - {% for user in users %} +
+
+ CCPO Users +
+
NameEmailDoD ID
+ - - - + + + - {% endfor %} - -
{{ user.full_name }}{{ user.email }}{{ user.dod_id }}NameEmailDoD ID
-
+ + + {% for user in users %} + + {{ user.full_name }} + {{ user.email }} + {{ user.dod_id }} + + {% endfor %} + + + + + {% if user_can(permissions.CREATE_CCPO_USER) %} + + Add new CCPO user {{ Icon("plus") }} + + {% endif %} + {% endblock %}