diff --git a/src/registrar/assets/js/get-gov.js b/src/registrar/assets/js/get-gov.js index 8ad46c2f3..0c89b4681 100644 --- a/src/registrar/assets/js/get-gov.js +++ b/src/registrar/assets/js/get-gov.js @@ -1929,6 +1929,7 @@ class MembersTable extends LoadTableBase { data.members.forEach(member => { const member_name = member.name; const member_display = member.member_display; + const member_permissions = member.permissions; const domain_urls = member.domain_urls; const domain_names = member.domain_names; const options = { year: 'numeric', month: 'short', day: 'numeric' }; @@ -1970,7 +1971,8 @@ class MembersTable extends LoadTableBase { if (member.is_admin) admin_tagHTML = `Admin` - // domainsHTML block needs to be wrapped with hide/show toggle, Expand + // domainsHTML block and permissionsHTML block need to be wrapped with hide/show toggle, Expand + let domainsHTML = ''; if (domain_urls.length > 0 && domain_names.length > 0) { domainsHTML = ""; } + // NOTE: need to replace strings below with constants from UserPortfolioPermission + // or return entire html block in json + console.log(member_permissions); + let permissionsHTML = ''; + // only display domains permissions if domains assigned + if (domainsHTML) { + if (member_permissions.includes('view_all_domains')) { + permissionsHTML += "

Domains: Can view all organization domains. Can manage domains they are assigned to and edit information about the domain (including DNS settings).

"; + } else if (member_permissions.includes('view_managed_domains')) { + permissionsHTML += "

Domains: Can manage domains they are assigned to and edit information about the domain (including DNS settings).

"; + } + } + if (member_permissions.includes('edit_requests')) { + permissionsHTML += "

Domain requests: Can view all organization domain requests. Can create domain requests and modify their own requests.

"; + } else if (member_permissions.includes('view_all_requests')) { + permissionsHTML += "

Domain requests (view-only): Can view all organization domain requests. Can't create or modify any domain requests.

"; + } + if (member_permissions.includes('edit_members')) { + permissionsHTML += "

Members: Can manage members including inviting new members, removing current members, and assigning domains to members."; + } else if (member_permissions.includes('view_members')) { + permissionsHTML += "

Members (view-only): Can view all organizational members. Can't manage any members."; + } + row.innerHTML = ` - ${member_display} ${admin_tagHTML} ${domainsHTML} + ${member_display} ${admin_tagHTML} ${domainsHTML} ${permissionsHTML} ${last_active_formatted}