diff --git a/src/registrar/assets/js/get-gov.js b/src/registrar/assets/js/get-gov.js
index d1adece6e..8d0862207 100644
--- a/src/registrar/assets/js/get-gov.js
+++ b/src/registrar/assets/js/get-gov.js
@@ -1436,9 +1436,9 @@ document.addEventListener('DOMContentLoaded', function() {
// NOTE: We may need to evolve this as we add more filters.
document.addEventListener('focusin', function(event) {
const accordion = document.querySelector('.usa-accordion--select');
- const openFilterAccordion = document.querySelector('.usa-button--filter[aria-expanded="true"]');
+ const accordionThatIsOpen = document.querySelector('.usa-button--filter[aria-expanded="true"]');
- if (openFilterAccordion && !accordion.contains(event.target)) {
+ if (accordionThatIsOpen && !accordion.contains(event.target)) {
closeFilters();
}
});
@@ -1447,9 +1447,9 @@ document.addEventListener('DOMContentLoaded', function() {
// NOTE: We may need to evolve this as we add more filters.
document.addEventListener('click', function(event) {
const accordion = document.querySelector('.usa-accordion--select');
- const openFilterAccordion = document.querySelector('.usa-button--filter[aria-expanded="true"]');
+ const accordionThatIsOpen = document.querySelector('.usa-button--filter[aria-expanded="true"]');
- if (openFilterAccordion && !accordion.contains(event.target)) {
+ if (accordionThatIsOpen && !accordion.contains(event.target)) {
closeFilters();
}
});
@@ -1631,7 +1631,7 @@ document.addEventListener('DOMContentLoaded', function() {
const actionLabel = request.action_label;
const submissionDate = request.last_submitted_date ? new Date(request.last_submitted_date).toLocaleDateString('en-US', options) : `Not submitted`;
- // Delete markup will either be a simple trigger or a 3 dots menu with a hidden trigger (in the case of portfolio requests page)
+ // The markup for the delete function either be a simple trigger or a 3 dots menu with a hidden trigger (in the case of portfolio requests page)
// Even if the request is not deletable, we may need these empty strings for the td if the deletable column is displayed
let modalTrigger = '';
@@ -1734,7 +1734,7 @@ document.addEventListener('DOMContentLoaded', function() {
domainRequestsSectionWrapper.appendChild(modal);
- // Request is deletable, modal and modalTrigger are built. Now test is portfolio requests page and enhace the modalTrigger markup
+ // Request is deletable, modal and modalTrigger are built. Now check if we are on the portfolio requests page (by seeing if there is a portfolio value) and enhance the modalTrigger accordingly
if (portfolioValue) {
modalTrigger = `
{
- const moreActionsAccordion = openMoreActionsAccordionButton.closest('.usa-accordion--more-actions'); // Find the corresponding accordion
- if (moreActionsAccordion && !moreActionsAccordion.contains(event.target)) {
- closeMoreActionMenu(openMoreActionsAccordionButton); // Close the accordion if the focus is outside
- }
- });
-
- const openFilterAccordion = document.querySelector('.usa-button--filter[aria-expanded="true"]');
- const moreFilterAccordion = openFilterAccordion ? openFilterAccordion.closest('.usa-accordion--select') : undefined;
-
- if (openFilterAccordion) {
- if (!moreFilterAccordion.contains(event.target)) {
- closeFilters();
- }
- }
+ closeOpenAccordions(event);
});
document.addEventListener('click', function(event) {
- const openMoreActionsAccordions = document.querySelectorAll('.usa-button--more-actions[aria-expanded="true"]');
-
- openMoreActionsAccordions.forEach((openMoreActionsAccordionButton) => {
- const accordion = openMoreActionsAccordionButton.closest('.usa-accordion--more-actions'); // Find the corresponding accordion
+ closeOpenAccordions(event);
+ });
+
+ function closeOpenAccordions(event) {
+ const openAccordions = document.querySelectorAll('.usa-button--more-actions[aria-expanded="true"]');
+ openAccordions.forEach((openAccordionButton) => {
+ // Find the corresponding accordion
+ const accordion = openAccordionButton.closest('.usa-accordion--more-actions');
if (accordion && !accordion.contains(event.target)) {
- closeMoreActionMenu(openMoreActionsAccordionButton); // Close the accordion if the click is outside
+ // Close the accordion if the click is outside
+ closeMoreActionMenu(openAccordionButton);
}
});
-
- const openFilterAccordion = document.querySelector('.usa-button--filter[aria-expanded="true"]');
- const moreFilterAccordion = openFilterAccordion ? openFilterAccordion.closest('.usa-accordion--select') : undefined;
-
- if (openFilterAccordion && moreFilterAccordion && !moreFilterAccordion.contains(event.target)) {
- closeFilters();
- }
- });
+ }
// Initial load
loadDomainRequests(1);
diff --git a/src/registrar/context_processors.py b/src/registrar/context_processors.py
index f9a8d328d..41046ed1c 100644
--- a/src/registrar/context_processors.py
+++ b/src/registrar/context_processors.py
@@ -60,7 +60,7 @@ def add_has_profile_feature_flag_to_context(request):
def portfolio_permissions(request):
"""Make portfolio permissions for the request user available in global context"""
- default_context = {
+ portfolio_context = {
"has_base_portfolio_permission": False,
"has_any_domains_portfolio_permission": False,
"has_any_requests_portfolio_permission": False,
@@ -94,8 +94,8 @@ def portfolio_permissions(request):
"has_organization_requests_flag": request.user.has_organization_requests_flag(),
"has_organization_members_flag": request.user.has_organization_members_flag(),
}
- return default_context
+ return portfolio_context
except AttributeError:
# Handles cases where request.user might not exist
- return default_context
+ return portfolio_context
diff --git a/src/registrar/templates/includes/header_extended.html b/src/registrar/templates/includes/header_extended.html
index ab0fed9b0..3d2a1c7a0 100644
--- a/src/registrar/templates/includes/header_extended.html
+++ b/src/registrar/templates/includes/header_extended.html
@@ -54,7 +54,7 @@
{% if has_organization_requests_flag %}
-
+
{% if has_edit_request_portfolio_permission %}
{% url 'domain-requests' as url %}