Fix edge cases

This commit is contained in:
zandercymatics 2024-08-20 14:17:14 -06:00
parent 3c89557976
commit 5f6f39048f
No known key found for this signature in database
GPG key ID: FF4636ABEC9682B7
4 changed files with 11 additions and 10 deletions

View file

@ -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 {

View file

@ -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 %}

View file

@ -15,7 +15,7 @@
If you believe there is an error please contact <a href="mailto:help@get.gov" class="usa-link">help@get.gov</a>.
</p>
{% if has_domains_portfolio_permission and request.user.has_edit_suborganization %}
{% if has_domains_portfolio_permission and has_edit_suborganization %}
<form class="usa-form usa-form--large" method="post" novalidate id="form-container">
{% csrf_token %}
{% input_with_errors form.sub_organization %}

View file

@ -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"]: