mirror of
https://github.com/cisagov/manage.get.gov.git
synced 2025-08-05 01:11:55 +02:00
formatting for code readability
This commit is contained in:
parent
3d86bef4f2
commit
9724477ab3
3 changed files with 24 additions and 36 deletions
|
@ -36,7 +36,7 @@ class UserPortfolioPermissionChoices(models.TextChoices):
|
|||
@classmethod
|
||||
def get_user_portfolio_permission_label(cls, user_portfolio_permission):
|
||||
return cls(user_portfolio_permission).label if user_portfolio_permission else None
|
||||
|
||||
|
||||
@classmethod
|
||||
def to_dict(cls):
|
||||
return {key: value.value for key, value in cls.__members__.items()}
|
||||
|
|
|
@ -137,12 +137,14 @@ class GetPortfolioMembersJsonTest(MockEppLib, WebTest):
|
|||
# Convert each member's roles list to a frozenset
|
||||
actual_roles = {role for member in data["members"] for role in member["roles"]}
|
||||
self.assertEqual(expected_roles, actual_roles)
|
||||
|
||||
|
||||
expected_additional_permissions = {
|
||||
UserPortfolioPermissionChoices.VIEW_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))
|
||||
|
||||
def test_get_portfolio_invited_json_authenticated(self):
|
||||
|
@ -172,9 +174,7 @@ class GetPortfolioMembersJsonTest(MockEppLib, WebTest):
|
|||
self.assertEqual(len(data["members"]), 1)
|
||||
|
||||
# Check member fields
|
||||
expected_emails = {
|
||||
self.email6
|
||||
}
|
||||
expected_emails = {self.email6}
|
||||
actual_emails = {member["email"] for member in data["members"]}
|
||||
self.assertEqual(expected_emails, actual_emails)
|
||||
|
||||
|
@ -184,12 +184,14 @@ class GetPortfolioMembersJsonTest(MockEppLib, WebTest):
|
|||
# Convert each member's roles list to a frozenset
|
||||
actual_roles = {role for member in data["members"] for role in member["roles"]}
|
||||
self.assertEqual(expected_roles, actual_roles)
|
||||
|
||||
|
||||
expected_additional_permissions = {
|
||||
UserPortfolioPermissionChoices.VIEW_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))
|
||||
|
||||
def test_get_portfolio_members_json_with_domains(self):
|
||||
|
@ -241,11 +243,7 @@ class GetPortfolioMembersJsonTest(MockEppLib, WebTest):
|
|||
data = response.json
|
||||
|
||||
# Check if the domain appears in the response JSON
|
||||
domain_names = [
|
||||
domain_name
|
||||
for member in data["members"]
|
||||
for domain_name in member.get("domain_names", [])
|
||||
]
|
||||
domain_names = [domain_name for member in data["members"] for domain_name in member.get("domain_names", [])]
|
||||
self.assertIn("somedomain1.com", domain_names)
|
||||
|
||||
def test_get_portfolio_invited_json_with_domains(self):
|
||||
|
@ -281,11 +279,7 @@ class GetPortfolioMembersJsonTest(MockEppLib, WebTest):
|
|||
data = response.json
|
||||
|
||||
# Check if the domain appears in the response JSON
|
||||
domain_names = [
|
||||
domain_name
|
||||
for member in data["members"]
|
||||
for domain_name in member.get("domain_names", [])
|
||||
]
|
||||
domain_names = [domain_name for member in data["members"] for domain_name in member.get("domain_names", [])]
|
||||
self.assertIn("somedomain1.com", domain_names)
|
||||
|
||||
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.portfolio_invitation import PortfolioInvitation
|
||||
from registrar.models.user_domain_role import UserDomainRole
|
||||
from registrar.models.user_portfolio_permission import UserPortfolioPermission
|
||||
from registrar.models.utility.portfolio_helper import UserPortfolioPermissionChoices, UserPortfolioRoleChoices
|
||||
|
||||
|
@ -88,10 +87,10 @@ def initial_permissions_search(portfolio):
|
|||
Value(":"),
|
||||
F("user__permissions__domain__name"),
|
||||
# specify the output_field to ensure union has same column types
|
||||
output_field=CharField()
|
||||
output_field=CharField(),
|
||||
),
|
||||
distinct=True,
|
||||
filter=Q(user__permissions__domain__isnull=False)
|
||||
filter=Q(user__permissions__domain__isnull=False),
|
||||
),
|
||||
source=Value("permission", output_field=CharField()),
|
||||
)
|
||||
|
@ -114,16 +113,8 @@ def initial_permissions_search(portfolio):
|
|||
def initial_invitations_search(portfolio):
|
||||
"""Perform initial invitations search and get related DomainInvitation data based on the email."""
|
||||
# Get DomainInvitation query for matching email
|
||||
domain_invitations = DomainInvitation.objects.filter(
|
||||
email=OuterRef('email'),
|
||||
domain__isnull=False
|
||||
).annotate(
|
||||
domain_info=Concat(
|
||||
F('domain__id'),
|
||||
Value(':'),
|
||||
F('domain__name'),
|
||||
output_field=CharField()
|
||||
)
|
||||
domain_invitations = DomainInvitation.objects.filter(email=OuterRef("email"), domain__isnull=False).annotate(
|
||||
domain_info=Concat(F("domain__id"), Value(":"), F("domain__name"), output_field=CharField())
|
||||
)
|
||||
invitations = PortfolioInvitation.objects.filter(portfolio=portfolio)
|
||||
invitations = invitations.annotate(
|
||||
|
@ -135,10 +126,10 @@ def initial_invitations_search(portfolio):
|
|||
# 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
|
||||
ArrayAgg(
|
||||
Subquery(domain_invitations.values('domain_info')),
|
||||
Subquery(domain_invitations.values("domain_info")),
|
||||
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()),
|
||||
).values(
|
||||
|
@ -201,13 +192,16 @@ def serialize_members(request, portfolio, item, user):
|
|||
"email": item.get("email_display", ""),
|
||||
"member_display": item.get("member_display", ""),
|
||||
"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_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
|
||||
],
|
||||
"domain_urls": [
|
||||
reverse("domain", kwargs={"pk": domain_info.split(":")[0]})
|
||||
reverse("domain", kwargs={"pk": domain_info.split(":")[0]})
|
||||
for domain_info in (item.get("domain_info") or [])
|
||||
if domain_info is not None # Prevent splitting None
|
||||
],
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue