mirror of
https://github.com/cisagov/manage.get.gov.git
synced 2025-08-13 21:19:42 +02:00
formatting for code readability
This commit is contained in:
parent
3d86bef4f2
commit
9724477ab3
3 changed files with 24 additions and 36 deletions
|
@ -142,7 +142,9 @@ class GetPortfolioMembersJsonTest(MockEppLib, WebTest):
|
||||||
UserPortfolioPermissionChoices.VIEW_MEMBERS,
|
UserPortfolioPermissionChoices.VIEW_MEMBERS,
|
||||||
UserPortfolioPermissionChoices.EDIT_MEMBERS,
|
UserPortfolioPermissionChoices.EDIT_MEMBERS,
|
||||||
}
|
}
|
||||||
actual_additional_permissions = {permission for member in data["members"] for permission in member["permissions"]}
|
actual_additional_permissions = {
|
||||||
|
permission for member in data["members"] for permission in member["permissions"]
|
||||||
|
}
|
||||||
self.assertTrue(expected_additional_permissions.issubset(actual_additional_permissions))
|
self.assertTrue(expected_additional_permissions.issubset(actual_additional_permissions))
|
||||||
|
|
||||||
def test_get_portfolio_invited_json_authenticated(self):
|
def test_get_portfolio_invited_json_authenticated(self):
|
||||||
|
@ -172,9 +174,7 @@ class GetPortfolioMembersJsonTest(MockEppLib, WebTest):
|
||||||
self.assertEqual(len(data["members"]), 1)
|
self.assertEqual(len(data["members"]), 1)
|
||||||
|
|
||||||
# Check member fields
|
# Check member fields
|
||||||
expected_emails = {
|
expected_emails = {self.email6}
|
||||||
self.email6
|
|
||||||
}
|
|
||||||
actual_emails = {member["email"] for member in data["members"]}
|
actual_emails = {member["email"] for member in data["members"]}
|
||||||
self.assertEqual(expected_emails, actual_emails)
|
self.assertEqual(expected_emails, actual_emails)
|
||||||
|
|
||||||
|
@ -189,7 +189,9 @@ class GetPortfolioMembersJsonTest(MockEppLib, WebTest):
|
||||||
UserPortfolioPermissionChoices.VIEW_MEMBERS,
|
UserPortfolioPermissionChoices.VIEW_MEMBERS,
|
||||||
UserPortfolioPermissionChoices.EDIT_MEMBERS,
|
UserPortfolioPermissionChoices.EDIT_MEMBERS,
|
||||||
}
|
}
|
||||||
actual_additional_permissions = {permission for member in data["members"] for permission in member["permissions"]}
|
actual_additional_permissions = {
|
||||||
|
permission for member in data["members"] for permission in member["permissions"]
|
||||||
|
}
|
||||||
self.assertTrue(expected_additional_permissions.issubset(actual_additional_permissions))
|
self.assertTrue(expected_additional_permissions.issubset(actual_additional_permissions))
|
||||||
|
|
||||||
def test_get_portfolio_members_json_with_domains(self):
|
def test_get_portfolio_members_json_with_domains(self):
|
||||||
|
@ -241,11 +243,7 @@ class GetPortfolioMembersJsonTest(MockEppLib, WebTest):
|
||||||
data = response.json
|
data = response.json
|
||||||
|
|
||||||
# Check if the domain appears in the response JSON
|
# Check if the domain appears in the response JSON
|
||||||
domain_names = [
|
domain_names = [domain_name for member in data["members"] for domain_name in member.get("domain_names", [])]
|
||||||
domain_name
|
|
||||||
for member in data["members"]
|
|
||||||
for domain_name in member.get("domain_names", [])
|
|
||||||
]
|
|
||||||
self.assertIn("somedomain1.com", domain_names)
|
self.assertIn("somedomain1.com", domain_names)
|
||||||
|
|
||||||
def test_get_portfolio_invited_json_with_domains(self):
|
def test_get_portfolio_invited_json_with_domains(self):
|
||||||
|
@ -281,11 +279,7 @@ class GetPortfolioMembersJsonTest(MockEppLib, WebTest):
|
||||||
data = response.json
|
data = response.json
|
||||||
|
|
||||||
# Check if the domain appears in the response JSON
|
# Check if the domain appears in the response JSON
|
||||||
domain_names = [
|
domain_names = [domain_name for member in data["members"] for domain_name in member.get("domain_names", [])]
|
||||||
domain_name
|
|
||||||
for member in data["members"]
|
|
||||||
for domain_name in member.get("domain_names", [])
|
|
||||||
]
|
|
||||||
self.assertIn("somedomain1.com", domain_names)
|
self.assertIn("somedomain1.com", domain_names)
|
||||||
|
|
||||||
def test_pagination(self):
|
def test_pagination(self):
|
||||||
|
|
|
@ -10,7 +10,6 @@ from django.db.models.functions import Cast
|
||||||
|
|
||||||
from registrar.models.domain_invitation import DomainInvitation
|
from registrar.models.domain_invitation import DomainInvitation
|
||||||
from registrar.models.portfolio_invitation import PortfolioInvitation
|
from registrar.models.portfolio_invitation import PortfolioInvitation
|
||||||
from registrar.models.user_domain_role import UserDomainRole
|
|
||||||
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
|
||||||
|
|
||||||
|
@ -88,10 +87,10 @@ def initial_permissions_search(portfolio):
|
||||||
Value(":"),
|
Value(":"),
|
||||||
F("user__permissions__domain__name"),
|
F("user__permissions__domain__name"),
|
||||||
# specify the output_field to ensure union has same column types
|
# specify the output_field to ensure union has same column types
|
||||||
output_field=CharField()
|
output_field=CharField(),
|
||||||
),
|
),
|
||||||
distinct=True,
|
distinct=True,
|
||||||
filter=Q(user__permissions__domain__isnull=False)
|
filter=Q(user__permissions__domain__isnull=False),
|
||||||
),
|
),
|
||||||
source=Value("permission", output_field=CharField()),
|
source=Value("permission", output_field=CharField()),
|
||||||
)
|
)
|
||||||
|
@ -114,16 +113,8 @@ def initial_permissions_search(portfolio):
|
||||||
def initial_invitations_search(portfolio):
|
def initial_invitations_search(portfolio):
|
||||||
"""Perform initial invitations search and get related DomainInvitation data based on the email."""
|
"""Perform initial invitations search and get related DomainInvitation data based on the email."""
|
||||||
# Get DomainInvitation query for matching email
|
# Get DomainInvitation query for matching email
|
||||||
domain_invitations = DomainInvitation.objects.filter(
|
domain_invitations = DomainInvitation.objects.filter(email=OuterRef("email"), domain__isnull=False).annotate(
|
||||||
email=OuterRef('email'),
|
domain_info=Concat(F("domain__id"), Value(":"), F("domain__name"), output_field=CharField())
|
||||||
domain__isnull=False
|
|
||||||
).annotate(
|
|
||||||
domain_info=Concat(
|
|
||||||
F('domain__id'),
|
|
||||||
Value(':'),
|
|
||||||
F('domain__name'),
|
|
||||||
output_field=CharField()
|
|
||||||
)
|
|
||||||
)
|
)
|
||||||
invitations = PortfolioInvitation.objects.filter(portfolio=portfolio)
|
invitations = PortfolioInvitation.objects.filter(portfolio=portfolio)
|
||||||
invitations = invitations.annotate(
|
invitations = invitations.annotate(
|
||||||
|
@ -135,10 +126,10 @@ def initial_invitations_search(portfolio):
|
||||||
# ArrayAgg for multiple domain_invitations matched by email, filtered to exclude nulls
|
# ArrayAgg for multiple domain_invitations matched by email, filtered to exclude nulls
|
||||||
domain_info=Coalesce( # Use Coalesce to return an empty list if no domain invitations exist
|
domain_info=Coalesce( # Use Coalesce to return an empty list if no domain invitations exist
|
||||||
ArrayAgg(
|
ArrayAgg(
|
||||||
Subquery(domain_invitations.values('domain_info')),
|
Subquery(domain_invitations.values("domain_info")),
|
||||||
distinct=True,
|
distinct=True,
|
||||||
),
|
),
|
||||||
Value([], output_field=ArrayField(CharField())) # Ensure we return an empty list
|
Value([], output_field=ArrayField(CharField())), # Ensure we return an empty list
|
||||||
),
|
),
|
||||||
source=Value("invitation", output_field=CharField()),
|
source=Value("invitation", output_field=CharField()),
|
||||||
).values(
|
).values(
|
||||||
|
@ -201,9 +192,12 @@ def serialize_members(request, portfolio, item, user):
|
||||||
"email": item.get("email_display", ""),
|
"email": item.get("email_display", ""),
|
||||||
"member_display": item.get("member_display", ""),
|
"member_display": item.get("member_display", ""),
|
||||||
"roles": (item.get("roles") or []),
|
"roles": (item.get("roles") or []),
|
||||||
"permissions": UserPortfolioPermission.get_portfolio_permissions(item.get("roles"), item.get("additional_permissions")),
|
"permissions": UserPortfolioPermission.get_portfolio_permissions(
|
||||||
|
item.get("roles"), item.get("additional_permissions")
|
||||||
|
),
|
||||||
"domain_names": [
|
"domain_names": [
|
||||||
domain_info.split(":")[1] for domain_info in (item.get("domain_info") or [])
|
domain_info.split(":")[1]
|
||||||
|
for domain_info in (item.get("domain_info") or [])
|
||||||
if domain_info is not None # Prevent splitting None
|
if domain_info is not None # Prevent splitting None
|
||||||
],
|
],
|
||||||
"domain_urls": [
|
"domain_urls": [
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue