diff --git a/atst/models/workspace_role.py b/atst/models/workspace_role.py index 50bc8144..9066c504 100644 --- a/atst/models/workspace_role.py +++ b/atst/models/workspace_role.py @@ -57,6 +57,10 @@ class WorkspaceRole(Base, mixins.TimestampsMixin, mixins.AuditableMixin): else: return "Unknown errors" + @property + def has_dod_id_error(self): + return self.latest_invitation and self.latest_invitation.is_rejected_wrong_user + Index( "workspace_role_user_workspace", diff --git a/atst/models/workspace_user.py b/atst/models/workspace_user.py index 93b6e9f5..dde48121 100644 --- a/atst/models/workspace_user.py +++ b/atst/models/workspace_user.py @@ -37,6 +37,10 @@ class WorkspaceUser(object): def status(self): return self.workspace_role.display_status + @property + def has_dod_id_error(self): + return self.workspace_role.has_dod_id_error + @property def num_environment_roles(self): return ( diff --git a/templates/workspaces/members/edit.html b/templates/workspaces/members/edit.html index d7c394bf..2dc8dcf2 100644 --- a/templates/workspaces/members/edit.html +++ b/templates/workspaces/members/edit.html @@ -4,9 +4,14 @@ {% from "components/modal.html" import Modal %} {% from "components/selector.html" import Selector %} {% from "components/options_input.html" import OptionsInput %} +{% from "components/alert.html" import Alert %} {% block content %} +{% if member.has_dod_id_error %} + {{ Alert('CAC ID Error', message='The member attempted to accept this invite, but their CAC ID did not match the CAC ID you specified on the invite. Please confirm that the DOD ID is accurate.', level='error') }} +{% endif %} +
{{ form.csrf_token }}