Merge branch 'ms/3316-automatically-add-portfolio-members' of https://github.com/cisagov/manage.get.gov into ms/3316-automatically-add-portfolio-members

This commit is contained in:
matthewswspence 2025-02-06 12:41:10 -06:00
commit 4d62bc13fb
No known key found for this signature in database
GPG key ID: FB458202A7852BA4

View file

@ -201,17 +201,16 @@ class Command(BaseCommand):
domain_managers: set[int] = set() domain_managers: set[int] = set()
# Fetch all users with manager roles for the domains # Fetch all users with manager roles for the domains
managers = UserDomainRole.objects.filter(domain__in=domains, role=UserDomainRole.Roles.MANAGER).values_list( # select_related means that a db query will not be occur when you do user_domain_role.user
"user", flat=True # Its similar to a set or dict in that it costs slightly more upfront in exchange for perf later
) user_domain_roles = UserDomainRole.objects.select_related("user").filter(domain__in=domains, role=UserDomainRole.Roles.MANAGER)
domain_managers.update(managers) domain_managers.update(managers)
invited_managers: set[str] = set() invited_managers: set[str] = set()
# Get the emails of invited managers # Get the emails of invited managers
for domain in domains:
domain_invitations = DomainInvitation.objects.filter( domain_invitations = DomainInvitation.objects.filter(
domain=domain, status=DomainInvitation.DomainInvitationStatus.INVITED domain__in=domains, status=DomainInvitation.DomainInvitationStatus.INVITED
).values_list("email", flat=True) ).values_list("email", flat=True)
invited_managers.update(domain_invitations) invited_managers.update(domain_invitations)