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.domain import Domain
|
||||||
from registrar.models.federal_agency import FederalAgency
|
from registrar.models.federal_agency import FederalAgency
|
||||||
from registrar.models.utility.generic_helper import CreateOrUpdateOrganizationTypeHelper
|
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.errors import FSMDomainRequestError, FSMErrorCodes
|
||||||
from registrar.utility.constants import BranchChoices
|
from registrar.utility.constants import BranchChoices
|
||||||
from auditlog.models import LogEntry
|
from auditlog.models import LogEntry
|
||||||
|
@ -903,6 +904,7 @@ class DomainRequest(TimeStampedModel):
|
||||||
email_template,
|
email_template,
|
||||||
email_template_subject,
|
email_template_subject,
|
||||||
bcc_address="",
|
bcc_address="",
|
||||||
|
cc_addresses: list[str] = [],
|
||||||
context=None,
|
context=None,
|
||||||
send_email=True,
|
send_email=True,
|
||||||
wrap_email=False,
|
wrap_email=False,
|
||||||
|
@ -961,6 +963,7 @@ class DomainRequest(TimeStampedModel):
|
||||||
recipient.email,
|
recipient.email,
|
||||||
context=context,
|
context=context,
|
||||||
bcc_address=bcc_address,
|
bcc_address=bcc_address,
|
||||||
|
cc_addresses=cc_addresses,
|
||||||
wrap_email=wrap_email,
|
wrap_email=wrap_email,
|
||||||
)
|
)
|
||||||
logger.info(f"The {new_status} email sent to: {recipient.email}")
|
logger.info(f"The {new_status} email sent to: {recipient.email}")
|
||||||
|
@ -1015,6 +1018,13 @@ class DomainRequest(TimeStampedModel):
|
||||||
if settings.IS_PRODUCTION:
|
if settings.IS_PRODUCTION:
|
||||||
bcc_address = settings.DEFAULT_FROM_EMAIL
|
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:
|
if self.status in limited_statuses:
|
||||||
self._send_status_update_email(
|
self._send_status_update_email(
|
||||||
"submission confirmation",
|
"submission confirmation",
|
||||||
|
@ -1022,6 +1032,7 @@ class DomainRequest(TimeStampedModel):
|
||||||
"emails/submission_confirmation_subject.txt",
|
"emails/submission_confirmation_subject.txt",
|
||||||
send_email=True,
|
send_email=True,
|
||||||
bcc_address=bcc_address,
|
bcc_address=bcc_address,
|
||||||
|
cc_addresses=cc_addresses
|
||||||
)
|
)
|
||||||
|
|
||||||
@transition(
|
@transition(
|
||||||
|
|
|
@ -144,6 +144,15 @@ class Portfolio(TimeStampedModel):
|
||||||
).values_list("user__id", flat=True)
|
).values_list("user__id", flat=True)
|
||||||
return User.objects.filter(id__in=admin_ids)
|
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 == #
|
# == Getters for domains == #
|
||||||
def get_domains(self, order_by=None):
|
def get_domains(self, order_by=None):
|
||||||
"""Returns all DomainInformations associated with this portfolio"""
|
"""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.
|
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.
|
whitelist (if applicable) will be filtered out before sending.
|
||||||
|
|
||||||
template_name and subject_template_name are relative to the same template
|
template_name and subject_template_name are relative to the same template
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue