Fix merge conflict (pt 1)

This commit is contained in:
zandercymatics 2024-08-21 15:03:28 -06:00
parent bbcf406df6
commit 4dadb715e8
No known key found for this signature in database
GPG key ID: FF4636ABEC9682B7
2 changed files with 23 additions and 22 deletions

View file

@ -12,7 +12,7 @@ from registrar.models import (
) )
from registrar.models.user_portfolio_permission import UserPortfolioPermission from registrar.models.user_portfolio_permission import UserPortfolioPermission
from registrar.models.utility.portfolio_helper import UserPortfolioPermissionChoices, UserPortfolioRoleChoices from registrar.models.utility.portfolio_helper import UserPortfolioPermissionChoices, UserPortfolioRoleChoices
from .common import create_test_user from .common import create_test_user, get_wsgi_request_object
from waffle.testutils import override_flag from waffle.testutils import override_flag
from django.contrib.sessions.middleware import SessionMiddleware from django.contrib.sessions.middleware import SessionMiddleware
@ -502,14 +502,12 @@ class TestPortfolio(WebTest):
# A default organization member should not be able to see any domains # A default organization member should not be able to see any domains
self.app.set_user(self.user.username) self.app.set_user(self.user.username)
self.user.portfolio = self.portfolio permission, _ = UserPortfolioPermission.objects.get_or_create(
self.user.portfolio_roles = [UserPortfolioRoleChoices.ORGANIZATION_MEMBER] user=self.user, portfolio=self.portfolio, roles=[UserPortfolioRoleChoices.ORGANIZATION_MEMBER]
self.user.save() )
self.user.refresh_from_db()
self.assertFalse(self.user.has_domains_portfolio_permission())
response = self.app.get(reverse("no-portfolio-domains")) response = self.app.get(reverse("no-portfolio-domains"))
self.assertFalse(self.user.has_domains_portfolio_permission(response.request.get("portfolio")))
self.assertEqual(response.status_code, 200) self.assertEqual(response.status_code, 200)
self.assertContains(response, "You arent managing any domains.") self.assertContains(response, "You arent managing any domains.")
@ -518,25 +516,24 @@ class TestPortfolio(WebTest):
self.assertEqual(response.status_code, 403) self.assertEqual(response.status_code, 403)
# Ensure that this user can see domains with the right permissions # Ensure that this user can see domains with the right permissions
self.user.portfolio_additional_permissions = [UserPortfolioPermissionChoices.VIEW_ALL_DOMAINS] permission.additional_permissions = [UserPortfolioPermissionChoices.VIEW_ALL_DOMAINS]
self.user.save() permission.save()
self.user.refresh_from_db() permission.refresh_from_db()
self.assertTrue(self.user.has_domains_portfolio_permission())
# Test the domains page - this user should have access # Test the domains page - this user should have access
response = self.app.get(reverse("domains")) response = self.app.get(reverse("domains"))
self.assertTrue(self.user.has_domains_portfolio_permission(response.request.get("portfolio")))
self.assertEqual(response.status_code, 200) self.assertEqual(response.status_code, 200)
self.assertContains(response, "Domain name") self.assertContains(response, "Domain name")
# Test the managed domains permission # Test the managed domains permission
self.user.portfolio_additional_permissions = [UserPortfolioPermissionChoices.VIEW_MANAGED_DOMAINS] permission.portfolio_additional_permissions = [UserPortfolioPermissionChoices.VIEW_MANAGED_DOMAINS]
self.user.save() permission.save()
self.user.refresh_from_db() permission.refresh_from_db()
self.assertTrue(self.user.has_domains_portfolio_permission())
# Test the domains page - this user should have access # Test the domains page - this user should have access
response = self.app.get(reverse("domains")) response = self.app.get(reverse("domains"))
self.assertTrue(self.user.has_domains_portfolio_permission(response.request.get("portfolio")))
self.assertEqual(response.status_code, 200) self.assertEqual(response.status_code, 200)
self.assertContains(response, "Domain name") self.assertContains(response, "Domain name")
permission.delete()

View file

@ -5,6 +5,7 @@ from django.urls import reverse
from django.contrib import messages from django.contrib import messages
from registrar.forms.portfolio import PortfolioOrgAddressForm, PortfolioSeniorOfficialForm from registrar.forms.portfolio import PortfolioOrgAddressForm, PortfolioSeniorOfficialForm
from registrar.models import Portfolio, User from registrar.models import Portfolio, User
from registrar.models.user_portfolio_permission import UserPortfolioPermission
from registrar.models.utility.portfolio_helper import UserPortfolioRoleChoices from registrar.models.utility.portfolio_helper import UserPortfolioRoleChoices
from registrar.views.utility.permission_views import ( from registrar.views.utility.permission_views import (
PortfolioDomainRequestsPermissionView, PortfolioDomainRequestsPermissionView,
@ -55,14 +56,17 @@ class PortfolioNoDomainsView(NoPortfolioDomainsPermissionView, View):
"""Add additional context data to the template.""" """Add additional context data to the template."""
# We can override the base class. This view only needs this item. # We can override the base class. This view only needs this item.
context = {} context = {}
portfolio = self.request.user.portfolio if self.request and self.request.user else None portfolio = self.request.session.get("portfolio")
if portfolio: if portfolio:
context["portfolio_administrators"] = User.objects.filter( admin_ids = UserPortfolioPermission.objects.filter(
portfolio=portfolio, portfolio=portfolio,
portfolio_roles__overlap=[ roles__overlap=[
UserPortfolioRoleChoices.ORGANIZATION_ADMIN, UserPortfolioRoleChoices.ORGANIZATION_ADMIN,
], ]
) ).values_list("user__id", flat=True)
admin_users = User.objects.filter(id__in=admin_ids)
context["portfolio_administrators"] = admin_users
return context return context