diff --git a/src/registrar/assets/src/js/getgov/portfolio-member-page.js b/src/registrar/assets/src/js/getgov/portfolio-member-page.js index e0fe2c561..26f3020fb 100644 --- a/src/registrar/assets/src/js/getgov/portfolio-member-page.js +++ b/src/registrar/assets/src/js/getgov/portfolio-member-page.js @@ -94,7 +94,7 @@ export function initAddNewMemberPageListeners() { const permissionDetailsContainer = document.getElementById("permission_details"); permissionDetailsContainer.innerHTML = ""; // Clear previous content - if (permission_details_div_id == 'new-member-basic-permissions') { + if (permission_details_div_id == 'member-basic-permissions') { // for basic users, display values are based on selections in the form // Get all permission sections (divs with h3 and radio inputs) const permissionSections = document.querySelectorAll(`#${permission_details_div_id} > h3`); @@ -181,7 +181,7 @@ export function initAddNewMemberPageListeners() { if (selectedAccess && selectedAccess.value === 'organization_admin') { populatePermissionDetails('admin'); } else { - populatePermissionDetails('new-member-basic-permissions'); + populatePermissionDetails('member-basic-permissions'); } //------- Show the modal @@ -198,7 +198,7 @@ export function initPortfolioMemberPageRadio() { document.addEventListener("DOMContentLoaded", () => { let memberForm = document.getElementById("member_form"); let newMemberForm = document.getElementById("add_member_form") - if (memberForm) { + if (memberForm || newMemberForm) { hookupRadioTogglerListener( 'role', { @@ -206,14 +206,6 @@ export function initPortfolioMemberPageRadio() { 'organization_member': 'member-basic-permissions' } ); - }else if (newMemberForm){ - hookupRadioTogglerListener( - 'role', - { - 'organization_admin': '', - 'organization_member': 'new-member-basic-permissions' - } - ); } }); } diff --git a/src/registrar/assets/src/sass/_theme/_accordions.scss b/src/registrar/assets/src/sass/_theme/_accordions.scss index 762618415..d9a669794 100644 --- a/src/registrar/assets/src/sass/_theme/_accordions.scss +++ b/src/registrar/assets/src/sass/_theme/_accordions.scss @@ -49,3 +49,29 @@ tr:last-of-type .usa-accordion--more-actions .usa-accordion__content { bottom: -10px; right: 30px; } + +.usa-accordion--show-more { + width: auto; + .usa-accordion__button[aria-expanded=false], + .usa-accordion__button[aria-expanded=false]:hover, + .usa-accordion__button[aria-expanded=true], + .usa-accordion__button[aria-expanded=true]:hover { + background-image: none; + background-color: transparent; + padding-right: 0; + padding-left: 0; + font-weight: normal; + } + .usa-accordion__button[aria-expanded=true] .expand-more { + display: inline-block; + } + .usa-accordion__button[aria-expanded=true] .expand-less { + display: none; + } + .usa-accordion__button[aria-expanded=false] .expand-more { + display: none; + } + .usa-accordion__button[aria-expanded=false] .expand-less { + display: inline-block; + } +} diff --git a/src/registrar/assets/src/sass/_theme/_tables.scss b/src/registrar/assets/src/sass/_theme/_tables.scss index ea160396e..3c8f15d70 100644 --- a/src/registrar/assets/src/sass/_theme/_tables.scss +++ b/src/registrar/assets/src/sass/_theme/_tables.scss @@ -99,3 +99,15 @@ th { } } } + +.dotgov-table--padding-left { + td, th { + padding: units(2) units(4) units(2) units(2); + } +} + +.usa-table--bg-transparent { + td, thead th { + background-color: transparent; + } +} diff --git a/src/registrar/assets/src/sass/_theme/_typography.scss b/src/registrar/assets/src/sass/_theme/_typography.scss index db19a595b..ff41d2509 100644 --- a/src/registrar/assets/src/sass/_theme/_typography.scss +++ b/src/registrar/assets/src/sass/_theme/_typography.scss @@ -51,3 +51,7 @@ h2 { padding-left: units(1); border-left: 2px solid color('base-lighter'); } + +.font-body-1 { + font-size: size('body', 1); +} diff --git a/src/registrar/forms/portfolio.py b/src/registrar/forms/portfolio.py index 960825cd3..d0a0712cf 100644 --- a/src/registrar/forms/portfolio.py +++ b/src/registrar/forms/portfolio.py @@ -132,6 +132,7 @@ class BasePortfolioMemberForm(forms.ModelForm): ], widget=forms.RadioSelect, required=False, + initial=UserPortfolioPermissionChoices.VIEW_MANAGED_DOMAINS.value, error_messages={ "required": "Member domain permission is required", }, @@ -146,6 +147,7 @@ class BasePortfolioMemberForm(forms.ModelForm): ], widget=forms.RadioSelect, required=False, + initial="no_access", error_messages={ "required": "Basic member permission is required", }, @@ -158,6 +160,7 @@ class BasePortfolioMemberForm(forms.ModelForm): ], widget=forms.RadioSelect, required=False, + initial="no_access", error_messages={ "required": "Admin member permission is required", }, diff --git a/src/registrar/templates/portfolio_members_add_new.html b/src/registrar/templates/portfolio_members_add_new.html index 03155a113..663cbb17f 100644 --- a/src/registrar/templates/portfolio_members_add_new.html +++ b/src/registrar/templates/portfolio_members_add_new.html @@ -62,8 +62,139 @@ {% endwith %} +
Member actions available | +Admin | +Basic | +
---|---|---|
+ View domains they manage + + | ++ + | ++ + | +
View all domains for the organization | ++ + | ++ Optional + | +
View all domain requests | ++ + | ++ Optional + | +
Create domain requests | ++ + | ++ Optional + | +
View all member permissions | ++ + | ++ Optional + | +
Manage member permissions | ++ + | ++ + | +
Manage organization metadata (address) | ++ + | ++ + | +
Configure the permissions for this member. Basic members cannot manage member permissions or organization metadata.
@@ -85,7 +216,7 @@After you invite this person to your organization, you can assign domain management permissions on their member profile.
+After you invite this person to your organization, you can assign domain management permissions on their member profile.