mirror of
https://github.com/cisagov/manage.get.gov.git
synced 2025-05-17 18:09:25 +02:00
CC view requests users to submission emails
This commit is contained in:
parent
bff19e3a28
commit
51e3fc8c3d
3 changed files with 21 additions and 1 deletions
|
@ -9,6 +9,7 @@ from django.utils import timezone
|
|||
from registrar.models.domain import Domain
|
||||
from registrar.models.federal_agency import FederalAgency
|
||||
from registrar.models.utility.generic_helper import CreateOrUpdateOrganizationTypeHelper
|
||||
from registrar.models.utility.portfolio_helper import UserPortfolioPermissionChoices
|
||||
from registrar.utility.errors import FSMDomainRequestError, FSMErrorCodes
|
||||
from registrar.utility.constants import BranchChoices
|
||||
from auditlog.models import LogEntry
|
||||
|
@ -903,6 +904,7 @@ class DomainRequest(TimeStampedModel):
|
|||
email_template,
|
||||
email_template_subject,
|
||||
bcc_address="",
|
||||
cc_addresses: list[str] = [],
|
||||
context=None,
|
||||
send_email=True,
|
||||
wrap_email=False,
|
||||
|
@ -961,6 +963,7 @@ class DomainRequest(TimeStampedModel):
|
|||
recipient.email,
|
||||
context=context,
|
||||
bcc_address=bcc_address,
|
||||
cc_addresses=cc_addresses,
|
||||
wrap_email=wrap_email,
|
||||
)
|
||||
logger.info(f"The {new_status} email sent to: {recipient.email}")
|
||||
|
@ -1015,6 +1018,13 @@ class DomainRequest(TimeStampedModel):
|
|||
if settings.IS_PRODUCTION:
|
||||
bcc_address = settings.DEFAULT_FROM_EMAIL
|
||||
|
||||
cc_addresses: list[str] = []
|
||||
if self.requesting_entity_is_portfolio:
|
||||
portfolio_view_requests_users = self.portfolio.portfolio_users_with_permissions(permissions=[UserPortfolioPermissionChoices.VIEW_ALL_REQUESTS])
|
||||
cc_users = self.portfolio.portfolio_admin_users | portfolio_view_requests_users
|
||||
cc_addresses = list(cc_users.values_list("email", flat=True))
|
||||
print("cc addresses: ", cc_addresses)
|
||||
|
||||
if self.status in limited_statuses:
|
||||
self._send_status_update_email(
|
||||
"submission confirmation",
|
||||
|
@ -1022,6 +1032,7 @@ class DomainRequest(TimeStampedModel):
|
|||
"emails/submission_confirmation_subject.txt",
|
||||
send_email=True,
|
||||
bcc_address=bcc_address,
|
||||
cc_addresses=cc_addresses
|
||||
)
|
||||
|
||||
@transition(
|
||||
|
|
|
@ -144,6 +144,15 @@ class Portfolio(TimeStampedModel):
|
|||
).values_list("user__id", flat=True)
|
||||
return User.objects.filter(id__in=admin_ids)
|
||||
|
||||
def portfolio_users_with_permissions(self, permissions=[]):
|
||||
"""Gets all users with specified additional permissions for this particular portfolio.
|
||||
Returns a queryset of User."""
|
||||
portfolio_users = self.portfolio_users
|
||||
if permissions:
|
||||
portfolio_users = portfolio_users.filter(additional_permissions__overlap=permissions)
|
||||
user_ids = portfolio_users.values_list("user__id", flat=True)
|
||||
return User.objects.filter(id__in=user_ids)
|
||||
|
||||
# == Getters for domains == #
|
||||
def get_domains(self, order_by=None):
|
||||
"""Returns all DomainInformations associated with this portfolio"""
|
||||
|
|
|
@ -36,7 +36,7 @@ def send_templated_email( # noqa
|
|||
|
||||
to_address and bcc_address currently only support single addresses.
|
||||
|
||||
cc_address is a list and can contain many addresses. Emails not in the
|
||||
cc_addresses is a list and can contain many addresses. Emails not in the
|
||||
whitelist (if applicable) will be filtered out before sending.
|
||||
|
||||
template_name and subject_template_name are relative to the same template
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue