diff --git a/atst/models/portfolio_role.py b/atst/models/portfolio_role.py index 53204e82..6d34dd97 100644 --- a/atst/models/portfolio_role.py +++ b/atst/models/portfolio_role.py @@ -12,17 +12,6 @@ from atst.utils import first_or_none from atst.models.mixins.auditable import record_permission_sets_updates -MEMBER_STATUSES = { - "active": "Active", - "revoked": "Invite revoked", - "expired": "Invite expired", - "error": "Error on invite", - "pending": "Pending", - "unknown": "Unknown errors", - "disabled": "Disabled", -} - - class Status(Enum): ACTIVE = "active" DISABLED = "disabled" @@ -90,23 +79,23 @@ class PortfolioRole( @property def display_status(self): if self.status == Status.ACTIVE: - return MEMBER_STATUSES["active"] + return "active" elif self.status == Status.DISABLED: - return MEMBER_STATUSES["disabled"] + return "disabled" elif self.latest_invitation: if self.latest_invitation.is_revoked: - return MEMBER_STATUSES["revoked"] + return "invite_revoked" elif self.latest_invitation.is_rejected_wrong_user: - return MEMBER_STATUSES["error"] + return "invite_error" elif ( self.latest_invitation.is_rejected_expired or self.latest_invitation.is_expired ): - return MEMBER_STATUSES["expired"] + return "invite_expired" else: - return MEMBER_STATUSES["pending"] + return "invite_pending" else: - return MEMBER_STATUSES["unknown"] + return "unknown" def has_permission_set(self, perm_set_name): return first_or_none( diff --git a/atst/routes/portfolios/admin.py b/atst/routes/portfolios/admin.py index 66bf5a20..0347902d 100644 --- a/atst/routes/portfolios/admin.py +++ b/atst/routes/portfolios/admin.py @@ -46,6 +46,7 @@ def filter_members_data(members_list): "role_id": member.id, "user_name": member.user_name, "permission_sets": filter_perm_sets_data(member), + "status": member.display_status, # add in stuff here for forms } ) diff --git a/templates/components/label.html b/templates/components/label.html index ddf9dce7..27f1c1b1 100644 --- a/templates/components/label.html +++ b/templates/components/label.html @@ -9,11 +9,15 @@ "text": "changes pending", "color": "default", }, + "ppoc": {"text": "primary point of contact"} } %} - {% if type -%} + {% if type in label_info.keys() -%} - {{ Icon(label_info[type]["icon"]) }} {{ label_info[type]["text"] }} + {% if label_info[type]["icon"] %} + {{ Icon(label_info[type]["icon"]) }} + {% endif %} + {{ label_info[type]["text"] }} {%- endif %} {%- endmacro %} diff --git a/templates/portfolios/admin.html b/templates/portfolios/admin.html index 53af7758..3a924cc3 100644 --- a/templates/portfolios/admin.html +++ b/templates/portfolios/admin.html @@ -1,5 +1,6 @@ {% extends "portfolios/base.html" %} +{% from "components/label.html" import Label %} {% from "components/pagination.html" import Pagination %} {% from 'components/save_button.html' import SaveButton %} {% from 'components/sticky_cta.html' import StickyCTA %} diff --git a/templates/portfolios/fragments/portfolio_members.html b/templates/portfolios/fragments/portfolio_members.html index 021aa0d6..d3a87307 100644 --- a/templates/portfolios/fragments/portfolio_members.html +++ b/templates/portfolios/fragments/portfolio_members.html @@ -21,6 +21,8 @@