From 5f6f39048f9bd50bb45a69f2af94305b70d07170 Mon Sep 17 00:00:00 2001 From: zandercymatics <141044360+zandercymatics@users.noreply.github.com> Date: Tue, 20 Aug 2024 14:17:14 -0600 Subject: [PATCH] Fix edge cases --- src/registrar/context_processors.py | 15 ++++++++------- src/registrar/templates/domain_detail.html | 2 +- .../templates/domain_suborganization.html | 2 +- src/registrar/views/domain.py | 2 +- 4 files changed, 11 insertions(+), 10 deletions(-) diff --git a/src/registrar/context_processors.py b/src/registrar/context_processors.py index 7d28260ed..16d592982 100644 --- a/src/registrar/context_processors.py +++ b/src/registrar/context_processors.py @@ -61,14 +61,15 @@ def add_has_profile_feature_flag_to_context(request): def portfolio_permissions(request): """Make portfolio permissions for the request user available in global context""" try: - if request.session["portfolio"] is not None: + portfolio = request.session["portfolio"] if "portfolio" in request.session else None + if portfolio: return { - "has_base_portfolio_permission": request.user.has_base_portfolio_permission(request.session["portfolio"]), - "has_domains_portfolio_permission": request.user.has_domains_portfolio_permission(request.session["portfolio"]), - "has_domain_requests_portfolio_permission": request.user.has_domain_requests_portfolio_permission(request.session["portfolio"]), - "has_view_suborganization": request.user.has_view_suborganization(request.session["portfolio"]), - "has_edit_suborganization": request.user.has_edit_suborganization(request.session["portfolio"]), - "portfolio": request.session["portfolio"], + "has_base_portfolio_permission": request.user.has_base_portfolio_permission(portfolio), + "has_domains_portfolio_permission": request.user.has_domains_portfolio_permission(portfolio), + "has_domain_requests_portfolio_permission": request.user.has_domain_requests_portfolio_permission(portfolio), + "has_view_suborganization": request.user.has_view_suborganization(portfolio), + "has_edit_suborganization": request.user.has_edit_suborganization(portfolio), + "portfolio": portfolio, "has_organization_feature_flag": True, } return { diff --git a/src/registrar/templates/domain_detail.html b/src/registrar/templates/domain_detail.html index cf55f7070..d7bc277b3 100644 --- a/src/registrar/templates/domain_detail.html +++ b/src/registrar/templates/domain_detail.html @@ -74,7 +74,7 @@ {% if portfolio and has_domains_portfolio_permission and has_view_suborganization %} {% url 'domain-suborganization' pk=domain.id as url %} - {% include "includes/summary_item.html" with title='Suborganization' value=domain.domain_info.sub_organization edit_link=url editable=is_editable|and:request.user.has_edit_suborganization %} + {% include "includes/summary_item.html" with title='Suborganization' value=domain.domain_info.sub_organization edit_link=url editable=is_editable|and:has_edit_suborganization %} {% else %} {% url 'domain-org-name-address' pk=domain.id as url %} {% include "includes/summary_item.html" with title='Organization name and mailing address' value=domain.domain_info address='true' edit_link=url editable=is_editable %} diff --git a/src/registrar/templates/domain_suborganization.html b/src/registrar/templates/domain_suborganization.html index 42bb766a3..ad96f1d65 100644 --- a/src/registrar/templates/domain_suborganization.html +++ b/src/registrar/templates/domain_suborganization.html @@ -15,7 +15,7 @@ If you believe there is an error please contact help@get.gov.

- {% if has_domains_portfolio_permission and request.user.has_edit_suborganization %} + {% if has_domains_portfolio_permission and has_edit_suborganization %}
{% csrf_token %} {% input_with_errors form.sub_organization %} diff --git a/src/registrar/views/domain.py b/src/registrar/views/domain.py index d6ffbf64a..aac9d056d 100644 --- a/src/registrar/views/domain.py +++ b/src/registrar/views/domain.py @@ -174,7 +174,7 @@ class DomainView(DomainBaseView): """Most views should not allow permission to portfolio users. If particular views allow permissions, they will need to override this function.""" - if self.request.user.has_domains_portfolio_permission(): + if self.request.user.has_domains_portfolio_permission(self.request.session["portfolio"]): if Domain.objects.filter(id=pk).exists(): domain = Domain.objects.get(id=pk) if domain.domain_info.portfolio == self.request.session["portfolio"]: