mirror of
https://github.com/cisagov/manage.get.gov.git
synced 2025-08-05 17:28:31 +02:00
Fix merge conflict (pt 1)
This commit is contained in:
parent
bbcf406df6
commit
4dadb715e8
2 changed files with 23 additions and 22 deletions
|
@ -12,7 +12,7 @@ from registrar.models import (
|
|||
)
|
||||
from registrar.models.user_portfolio_permission import UserPortfolioPermission
|
||||
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 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
|
||||
self.app.set_user(self.user.username)
|
||||
self.user.portfolio = self.portfolio
|
||||
self.user.portfolio_roles = [UserPortfolioRoleChoices.ORGANIZATION_MEMBER]
|
||||
self.user.save()
|
||||
self.user.refresh_from_db()
|
||||
|
||||
self.assertFalse(self.user.has_domains_portfolio_permission())
|
||||
permission, _ = UserPortfolioPermission.objects.get_or_create(
|
||||
user=self.user, portfolio=self.portfolio, roles=[UserPortfolioRoleChoices.ORGANIZATION_MEMBER]
|
||||
)
|
||||
|
||||
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.assertContains(response, "You aren’t managing any domains.")
|
||||
|
||||
|
@ -518,25 +516,24 @@ class TestPortfolio(WebTest):
|
|||
self.assertEqual(response.status_code, 403)
|
||||
|
||||
# Ensure that this user can see domains with the right permissions
|
||||
self.user.portfolio_additional_permissions = [UserPortfolioPermissionChoices.VIEW_ALL_DOMAINS]
|
||||
self.user.save()
|
||||
self.user.refresh_from_db()
|
||||
|
||||
self.assertTrue(self.user.has_domains_portfolio_permission())
|
||||
permission.additional_permissions = [UserPortfolioPermissionChoices.VIEW_ALL_DOMAINS]
|
||||
permission.save()
|
||||
permission.refresh_from_db()
|
||||
|
||||
# Test the domains page - this user should have access
|
||||
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.assertContains(response, "Domain name")
|
||||
|
||||
# Test the managed domains permission
|
||||
self.user.portfolio_additional_permissions = [UserPortfolioPermissionChoices.VIEW_MANAGED_DOMAINS]
|
||||
self.user.save()
|
||||
self.user.refresh_from_db()
|
||||
|
||||
self.assertTrue(self.user.has_domains_portfolio_permission())
|
||||
permission.portfolio_additional_permissions = [UserPortfolioPermissionChoices.VIEW_MANAGED_DOMAINS]
|
||||
permission.save()
|
||||
permission.refresh_from_db()
|
||||
|
||||
# Test the domains page - this user should have access
|
||||
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.assertContains(response, "Domain name")
|
||||
permission.delete()
|
||||
|
|
|
@ -5,6 +5,7 @@ from django.urls import reverse
|
|||
from django.contrib import messages
|
||||
from registrar.forms.portfolio import PortfolioOrgAddressForm, PortfolioSeniorOfficialForm
|
||||
from registrar.models import Portfolio, User
|
||||
from registrar.models.user_portfolio_permission import UserPortfolioPermission
|
||||
from registrar.models.utility.portfolio_helper import UserPortfolioRoleChoices
|
||||
from registrar.views.utility.permission_views import (
|
||||
PortfolioDomainRequestsPermissionView,
|
||||
|
@ -55,14 +56,17 @@ class PortfolioNoDomainsView(NoPortfolioDomainsPermissionView, View):
|
|||
"""Add additional context data to the template."""
|
||||
# We can override the base class. This view only needs this item.
|
||||
context = {}
|
||||
portfolio = self.request.user.portfolio if self.request and self.request.user else None
|
||||
portfolio = self.request.session.get("portfolio")
|
||||
if portfolio:
|
||||
context["portfolio_administrators"] = User.objects.filter(
|
||||
admin_ids = UserPortfolioPermission.objects.filter(
|
||||
portfolio=portfolio,
|
||||
portfolio_roles__overlap=[
|
||||
roles__overlap=[
|
||||
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
|
||||
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue