From 1c1a3f7effe15faa397a16d4a98f2cecf248159e Mon Sep 17 00:00:00 2001
From: Erin Song <121973038+erinysong@users.noreply.github.com>
Date: Thu, 23 Jan 2025 16:12:06 -0800
Subject: [PATCH 03/37] Add alert to deleting multiple user domain roles
---
src/registrar/admin.py | 2 +-
.../domain_invitation_delete_confirmation.html | 0
...er_domain_role_delete_selected_confirmation.html | 13 +++++++++++++
3 files changed, 14 insertions(+), 1 deletion(-)
create mode 100644 src/registrar/templates/django/admin/domain_invitation_delete_confirmation.html
create mode 100644 src/registrar/templates/django/admin/user_domain_role_delete_selected_confirmation.html
diff --git a/src/registrar/admin.py b/src/registrar/admin.py
index f0e435090..407532943 100644
--- a/src/registrar/admin.py
+++ b/src/registrar/admin.py
@@ -1370,7 +1370,7 @@ class UserDomainRoleAdmin(ListHeaderAdmin, ImportExportModelAdmin):
change_form_template = "django/admin/user_domain_role_change_form.html"
# Override for the delete confirmation page on the domain table (bulk delete action)
- delete_selected_confirmation_template = "django/admin/user_domain_role_delete_confirmation.html"
+ delete_selected_confirmation_template = "django/admin/user_domain_role_delete_selected_confirmation.html"
# Fixes a bug where non-superusers are redirected to the main page
def delete_view(self, request, object_id, extra_context=None):
diff --git a/src/registrar/templates/django/admin/domain_invitation_delete_confirmation.html b/src/registrar/templates/django/admin/domain_invitation_delete_confirmation.html
new file mode 100644
index 000000000..e69de29bb
diff --git a/src/registrar/templates/django/admin/user_domain_role_delete_selected_confirmation.html b/src/registrar/templates/django/admin/user_domain_role_delete_selected_confirmation.html
new file mode 100644
index 000000000..392d1aebc
--- /dev/null
+++ b/src/registrar/templates/django/admin/user_domain_role_delete_selected_confirmation.html
@@ -0,0 +1,13 @@
+{% extends 'admin/delete_selected_confirmation.html' %}
+{% load i18n static %}
+
+{% block content_subtitle %}
+
+
+
+ If you remove someone from a domain here, it won't trigger any emails when you click "save."
+
+
+
+ {{ block.super }}
+{% endblock %}
From 7fe12d1a22cb077d93a6695da36f9ca0f72ac611 Mon Sep 17 00:00:00 2001
From: Erin Song <121973038+erinysong@users.noreply.github.com>
Date: Thu, 23 Jan 2025 16:19:26 -0800
Subject: [PATCH 04/37] Add alerts to deleting domain invitations
---
src/registrar/admin.py | 13 +++++++++++++
.../domain_invitation_delete_confirmation.html | 16 ++++++++++++++++
..._invitation_delete_selected_confirmation.html | 16 ++++++++++++++++
3 files changed, 45 insertions(+)
create mode 100644 src/registrar/templates/django/admin/domain_invitation_delete_selected_confirmation.html
diff --git a/src/registrar/admin.py b/src/registrar/admin.py
index 407532943..bb7c26fa8 100644
--- a/src/registrar/admin.py
+++ b/src/registrar/admin.py
@@ -1507,6 +1507,8 @@ class DomainInvitationAdmin(BaseInvitationAdmin):
autocomplete_fields = ["domain"]
change_form_template = "django/admin/domain_invitation_change_form.html"
+ # Override for the delete confirmation page on the domain table (bulk delete action)
+ delete_selected_confirmation_template = "django/admin/domain_invitation_delete_selected_confirmation.html"
# Select domain invitations to change -> Domain invitations
def changelist_view(self, request, extra_context=None):
@@ -1515,6 +1517,17 @@ class DomainInvitationAdmin(BaseInvitationAdmin):
extra_context["tabtitle"] = "Domain invitations"
# Get the filtered values
return super().changelist_view(request, extra_context=extra_context)
+
+
+ def delete_view(self, request, object_id, extra_context=None):
+ """
+ Custom delete_view to perform additional actions or customize the template.
+ """
+ # Set the delete template to a custom one
+ self.delete_confirmation_template = "django/admin/domain_invitation_delete_confirmation.html"
+ response = super().delete_view(request, object_id, extra_context=extra_context)
+
+ return response
def save_model(self, request, obj, form, change):
"""
diff --git a/src/registrar/templates/django/admin/domain_invitation_delete_confirmation.html b/src/registrar/templates/django/admin/domain_invitation_delete_confirmation.html
index e69de29bb..abd0721de 100644
--- a/src/registrar/templates/django/admin/domain_invitation_delete_confirmation.html
+++ b/src/registrar/templates/django/admin/domain_invitation_delete_confirmation.html
@@ -0,0 +1,16 @@
+{% extends 'admin/delete_confirmation.html' %}
+{% load i18n static %}
+
+{% block content_subtitle %}
+
+
+
+ If you cancel the domain invitation here, it won't trigger any emails. It also won't remove
+ their domain management privileges if they already have that role assigned. Go to the
+ User Domain Roles table
+ if you want to remove the user from a domain.
+
+
+
+ {{ block.super }}
+{% endblock %}
diff --git a/src/registrar/templates/django/admin/domain_invitation_delete_selected_confirmation.html b/src/registrar/templates/django/admin/domain_invitation_delete_selected_confirmation.html
new file mode 100644
index 000000000..86a4f7134
--- /dev/null
+++ b/src/registrar/templates/django/admin/domain_invitation_delete_selected_confirmation.html
@@ -0,0 +1,16 @@
+{% extends 'admin/delete_selected_confirmation.html' %}
+{% load i18n static %}
+
+{% block content_subtitle %}
+
+
+
+ If you cancel the domain invitation here, it won't trigger any emails. It also won't remove
+ their domain management privileges if they already have that role assigned. Go to the
+ User Domain Roles table
+ if you want to remove the user from a domain.
+
+
+
+ {{ block.super }}
+{% endblock %}
From 691220698deb3744f4754edb1c133e07743a8db6 Mon Sep 17 00:00:00 2001
From: Erin Song <121973038+erinysong@users.noreply.github.com>
Date: Wed, 29 Jan 2025 11:59:21 -0800
Subject: [PATCH 05/37] Email domain managers after domain manager is removed
---
.../domain_manager_deleted_notification.txt | 29 ++++++++++++++
...n_manager_deleted_notification_subject.txt | 1 +
src/registrar/views/domain.py | 39 +++++++++++++++++++
3 files changed, 69 insertions(+)
create mode 100644 src/registrar/templates/emails/domain_manager_deleted_notification.txt
create mode 100644 src/registrar/templates/emails/domain_manager_deleted_notification_subject.txt
diff --git a/src/registrar/templates/emails/domain_manager_deleted_notification.txt b/src/registrar/templates/emails/domain_manager_deleted_notification.txt
new file mode 100644
index 000000000..542087057
--- /dev/null
+++ b/src/registrar/templates/emails/domain_manager_deleted_notification.txt
@@ -0,0 +1,29 @@
+{% autoescape off %}{# In a text file, we don't want to have HTML entities escaped #}
+Hi,{% if domain_manager and domain_manager.first_name %} {{ domain_manager.first_name }}.{% endif %}
+
+A domain manager was was removed from {{ domain.name }}.
+REMOVED BY: {{ removed_by.email }}
+REMOVED ON: {{ date }}
+MANAGER REMOVED: {{ manager_removed.email }}
+
+
+----------------------------------------------------------------
+
+
+WHY DID YOU RECEIVE THIS EMAIL?
+You’re listed as a domain manager for {{ domain.name }}, so you’ll receive a notification whenever a domain manager is removed from that domain.
+If you have questions or concerns, reach out to the person who removed the domain manager or reply to this email.
+
+THANK YOU
+.Gov helps the public identify official, trusted information. Thank you for using a .gov domain.
+
+
+----------------------------------------------------------------
+
+The .gov team
+Contact us:
+Learn about .gov
+
+The .gov registry is a part of the Cybersecurity and Infrastructure Security Agency
+(CISA)
+{% endautoescape %}
diff --git a/src/registrar/templates/emails/domain_manager_deleted_notification_subject.txt b/src/registrar/templates/emails/domain_manager_deleted_notification_subject.txt
new file mode 100644
index 000000000..c84a20f18
--- /dev/null
+++ b/src/registrar/templates/emails/domain_manager_deleted_notification_subject.txt
@@ -0,0 +1 @@
+A domain manager was removed from {{ domain.name }}
\ No newline at end of file
diff --git a/src/registrar/views/domain.py b/src/registrar/views/domain.py
index f82d7005d..6bbeca5f8 100644
--- a/src/registrar/views/domain.py
+++ b/src/registrar/views/domain.py
@@ -1335,10 +1335,49 @@ class DomainDeleteUserView(UserDomainRolePermissionDeleteView):
# Is the user deleting themselves? If so, display a different message
delete_self = self.request.user == self.object.user
+
+ # Email all domain managers that domain manager has been removed
+ domain = self.object.domain
+
+ context = {
+ "domain": domain,
+ "removed_by": self.request.user,
+ "manager_removed": self.object.user,
+ "date": date.today(),
+ "changes": "Domain Manager"
+ }
+ self.email_domain_managers(
+ domain,
+ "emails/domain_manager_deleted_notification.txt",
+ "emails/domain_manager_deleted_notification_subject.txt",
+ context,
+ )
# Add a success message
messages.success(self.request, self.get_success_message(delete_self))
return redirect(self.get_success_url())
+
+ def email_domain_managers(self, domain: Domain, template: str, subject_template: str, context={}):
+ manager_pks = UserDomainRole.objects.filter(domain=domain.pk, role=UserDomainRole.Roles.MANAGER).values_list(
+ "user", flat=True
+ )
+ emails = list(User.objects.filter(pk__in=manager_pks).values_list("email", flat=True))
+
+ for email in emails:
+ try:
+ send_templated_email(
+ template,
+ subject_template,
+ to_address=email, # type: ignore
+ context=context,
+ )
+ except EmailSendingError:
+ logger.warning(
+ "Could not sent notification email to %s for domain %s",
+ email,
+ domain.name,
+ exc_info=True,
+ )
def post(self, request, *args, **kwargs):
"""Custom post implementation to redirect to home in the event that the user deletes themselves"""
From 59bda0b3cca0157027cee875d177750579a74ea6 Mon Sep 17 00:00:00 2001
From: Erin Song <121973038+erinysong@users.noreply.github.com>
Date: Wed, 29 Jan 2025 15:10:06 -0800
Subject: [PATCH 06/37] Initialize email tests
---
src/registrar/admin.py | 3 +--
src/registrar/tests/test_views_domain.py | 8 ++++++++
src/registrar/views/domain.py | 10 +++++-----
3 files changed, 14 insertions(+), 7 deletions(-)
diff --git a/src/registrar/admin.py b/src/registrar/admin.py
index bb7c26fa8..f1b419d49 100644
--- a/src/registrar/admin.py
+++ b/src/registrar/admin.py
@@ -1375,7 +1375,7 @@ class UserDomainRoleAdmin(ListHeaderAdmin, ImportExportModelAdmin):
# Fixes a bug where non-superusers are redirected to the main page
def delete_view(self, request, object_id, extra_context=None):
"""Custom delete_view implementation that specifies redirect behaviour"""
- self.delete_confirmation_template = "django/admin/user_domain_role_delete_confirmation.html"
+ self.delete_confirmation_template = "django/admin/user_domain_role_delete_confirmation.html"
response = super().delete_view(request, object_id, extra_context)
if isinstance(response, HttpResponseRedirect) and not request.user.has_perm("registrar.full_access_permission"):
@@ -1517,7 +1517,6 @@ class DomainInvitationAdmin(BaseInvitationAdmin):
extra_context["tabtitle"] = "Domain invitations"
# Get the filtered values
return super().changelist_view(request, extra_context=extra_context)
-
def delete_view(self, request, object_id, extra_context=None):
"""
diff --git a/src/registrar/tests/test_views_domain.py b/src/registrar/tests/test_views_domain.py
index 45758e502..4ebebd001 100644
--- a/src/registrar/tests/test_views_domain.py
+++ b/src/registrar/tests/test_views_domain.py
@@ -980,6 +980,14 @@ class TestDomainManagers(TestDomainOverview):
success_page = success_result.follow()
self.assertContains(success_page, "Failed to send email.")
+ @boto3_mocking.patching
+ @less_console_noise_decorator
+ def test_domain_remove_manager(self):
+ """Removing a domain manager sends notification email to other domain managers."""
+ print("self:", self)
+ response = self.client.get(reverse("domain-user-delete", kwargs={"pk": self.domain.id, "user_pk": self.user.id}))
+ print("response: ", response)
+
@less_console_noise_decorator
@patch("registrar.views.domain.send_domain_invitation_email")
def test_domain_invitation_created(self, mock_send_domain_email):
diff --git a/src/registrar/views/domain.py b/src/registrar/views/domain.py
index 6bbeca5f8..0ce0eb4d3 100644
--- a/src/registrar/views/domain.py
+++ b/src/registrar/views/domain.py
@@ -1335,16 +1335,16 @@ class DomainDeleteUserView(UserDomainRolePermissionDeleteView):
# Is the user deleting themselves? If so, display a different message
delete_self = self.request.user == self.object.user
-
+
# Email all domain managers that domain manager has been removed
domain = self.object.domain
context = {
"domain": domain,
"removed_by": self.request.user,
- "manager_removed": self.object.user,
+ "manager_removed": self.object.user,
"date": date.today(),
- "changes": "Domain Manager"
+ "changes": "Domain Manager",
}
self.email_domain_managers(
domain,
@@ -1356,7 +1356,7 @@ class DomainDeleteUserView(UserDomainRolePermissionDeleteView):
# Add a success message
messages.success(self.request, self.get_success_message(delete_self))
return redirect(self.get_success_url())
-
+
def email_domain_managers(self, domain: Domain, template: str, subject_template: str, context={}):
manager_pks = UserDomainRole.objects.filter(domain=domain.pk, role=UserDomainRole.Roles.MANAGER).values_list(
"user", flat=True
@@ -1368,7 +1368,7 @@ class DomainDeleteUserView(UserDomainRolePermissionDeleteView):
send_templated_email(
template,
subject_template,
- to_address=email, # type: ignore
+ to_address=email,
context=context,
)
except EmailSendingError:
From 0a276748388ef948574adc6eecf34862715e8124 Mon Sep 17 00:00:00 2001
From: Erin Song <121973038+erinysong@users.noreply.github.com>
Date: Wed, 29 Jan 2025 15:37:44 -0800
Subject: [PATCH 07/37] Add tests for domain manager removal email
---
src/registrar/tests/test_views_domain.py | 21 +++++++++++++++++----
1 file changed, 17 insertions(+), 4 deletions(-)
diff --git a/src/registrar/tests/test_views_domain.py b/src/registrar/tests/test_views_domain.py
index d45e09964..55417a44c 100644
--- a/src/registrar/tests/test_views_domain.py
+++ b/src/registrar/tests/test_views_domain.py
@@ -983,11 +983,24 @@ class TestDomainManagers(TestDomainOverview):
@boto3_mocking.patching
@less_console_noise_decorator
- def test_domain_remove_manager(self):
+ @patch("registrar.views.domain.send_templated_email")
+ def test_domain_remove_manager(self, mock_send_templated_email):
"""Removing a domain manager sends notification email to other domain managers."""
- print("self:", self)
- response = self.client.get(reverse("domain-user-delete", kwargs={"pk": self.domain.id, "user_pk": self.user.id}))
- print("response: ", response)
+ self.manager, _ = User.objects.get_or_create(
+ email="mayor@igorville.com", first_name="Hello", last_name="World"
+ )
+ self.manager_domain_permission, _ = UserDomainRole.objects.get_or_create(
+ user=self.manager, domain=self.domain
+ )
+ response = self.client.post(reverse("domain-user-delete", kwargs={"pk": self.domain.id, "user_pk": self.manager.id}))
+
+ # Verify that the notification emails were sent to domain manager
+ mock_send_templated_email.assert_called_once_with(
+ "emails/domain_manager_deleted_notification.txt",
+ "emails/domain_manager_deleted_notification_subject.txt",
+ to_address="info@example.com",
+ context=ANY,
+ )
@less_console_noise_decorator
@patch("registrar.views.domain.send_domain_invitation_email")
From b490b13a81d98c45cd861163ce9ae4f04c1ecdf7 Mon Sep 17 00:00:00 2001
From: Erin Song <121973038+erinysong@users.noreply.github.com>
Date: Wed, 29 Jan 2025 15:42:56 -0800
Subject: [PATCH 08/37] Fix lint errors
---
src/registrar/tests/test_views_domain.py | 10 ++++------
1 file changed, 4 insertions(+), 6 deletions(-)
diff --git a/src/registrar/tests/test_views_domain.py b/src/registrar/tests/test_views_domain.py
index 55417a44c..5397a702d 100644
--- a/src/registrar/tests/test_views_domain.py
+++ b/src/registrar/tests/test_views_domain.py
@@ -986,13 +986,11 @@ class TestDomainManagers(TestDomainOverview):
@patch("registrar.views.domain.send_templated_email")
def test_domain_remove_manager(self, mock_send_templated_email):
"""Removing a domain manager sends notification email to other domain managers."""
- self.manager, _ = User.objects.get_or_create(
- email="mayor@igorville.com", first_name="Hello", last_name="World"
+ self.manager, _ = User.objects.get_or_create(email="mayor@igorville.com", first_name="Hello", last_name="World")
+ self.manager_domain_permission, _ = UserDomainRole.objects.get_or_create(user=self.manager, domain=self.domain)
+ response = self.client.post(
+ reverse("domain-user-delete", kwargs={"pk": self.domain.id, "user_pk": self.manager.id})
)
- self.manager_domain_permission, _ = UserDomainRole.objects.get_or_create(
- user=self.manager, domain=self.domain
- )
- response = self.client.post(reverse("domain-user-delete", kwargs={"pk": self.domain.id, "user_pk": self.manager.id}))
# Verify that the notification emails were sent to domain manager
mock_send_templated_email.assert_called_once_with(
From 95adc264d28c59a8a572a2f733bbad476f8e6ed2 Mon Sep 17 00:00:00 2001
From: Erin Song <121973038+erinysong@users.noreply.github.com>
Date: Thu, 30 Jan 2025 11:13:49 -0800
Subject: [PATCH 09/37] Fix lint errors
---
src/registrar/tests/test_views_domain.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/registrar/tests/test_views_domain.py b/src/registrar/tests/test_views_domain.py
index 5397a702d..55e238182 100644
--- a/src/registrar/tests/test_views_domain.py
+++ b/src/registrar/tests/test_views_domain.py
@@ -988,7 +988,7 @@ class TestDomainManagers(TestDomainOverview):
"""Removing a domain manager sends notification email to other domain managers."""
self.manager, _ = User.objects.get_or_create(email="mayor@igorville.com", first_name="Hello", last_name="World")
self.manager_domain_permission, _ = UserDomainRole.objects.get_or_create(user=self.manager, domain=self.domain)
- response = self.client.post(
+ response = self.client.post( # noqa: F841
reverse("domain-user-delete", kwargs={"pk": self.domain.id, "user_pk": self.manager.id})
)
From 4866e4ab12819d2355da663ac4c3b5f532323210 Mon Sep 17 00:00:00 2001
From: Erin Song <121973038+erinysong@users.noreply.github.com>
Date: Thu, 30 Jan 2025 11:14:37 -0800
Subject: [PATCH 10/37] Remove unused variable
---
src/registrar/tests/test_views_domain.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/registrar/tests/test_views_domain.py b/src/registrar/tests/test_views_domain.py
index 55e238182..e465afacb 100644
--- a/src/registrar/tests/test_views_domain.py
+++ b/src/registrar/tests/test_views_domain.py
@@ -988,7 +988,7 @@ class TestDomainManagers(TestDomainOverview):
"""Removing a domain manager sends notification email to other domain managers."""
self.manager, _ = User.objects.get_or_create(email="mayor@igorville.com", first_name="Hello", last_name="World")
self.manager_domain_permission, _ = UserDomainRole.objects.get_or_create(user=self.manager, domain=self.domain)
- response = self.client.post( # noqa: F841
+ self.client.post(
reverse("domain-user-delete", kwargs={"pk": self.domain.id, "user_pk": self.manager.id})
)
From eef77fd6a9940d0d83cfeb4a44a6bdbe8c9b9f38 Mon Sep 17 00:00:00 2001
From: Erin Song <121973038+erinysong@users.noreply.github.com>
Date: Thu, 30 Jan 2025 11:15:07 -0800
Subject: [PATCH 11/37] Remove unused variables
---
src/registrar/tests/test_models_requests.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/registrar/tests/test_models_requests.py b/src/registrar/tests/test_models_requests.py
index c3528311d..b19b245e5 100644
--- a/src/registrar/tests/test_models_requests.py
+++ b/src/registrar/tests/test_models_requests.py
@@ -1106,7 +1106,7 @@ class TestDomainRequest(TestCase):
federal_agency=fed_agency,
organization_type=DomainRequest.OrganizationChoices.FEDERAL,
)
- user_portfolio_permission = UserPortfolioPermission.objects.create( # noqa: F841
+ UserPortfolioPermission.objects.create(
user=self.dummy_user_3, portfolio=portfolio, roles=[UserPortfolioRoleChoices.ORGANIZATION_ADMIN]
)
# Adds cc'ed email in this test's allow list
From 64930edea054bb1c5e9710ae58695fa46e8de514 Mon Sep 17 00:00:00 2001
From: Erin Song <121973038+erinysong@users.noreply.github.com>
Date: Thu, 30 Jan 2025 11:23:36 -0800
Subject: [PATCH 12/37] Fix linting errors
---
src/registrar/tests/test_views_domain.py | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/src/registrar/tests/test_views_domain.py b/src/registrar/tests/test_views_domain.py
index e465afacb..ea39d92f6 100644
--- a/src/registrar/tests/test_views_domain.py
+++ b/src/registrar/tests/test_views_domain.py
@@ -988,9 +988,7 @@ class TestDomainManagers(TestDomainOverview):
"""Removing a domain manager sends notification email to other domain managers."""
self.manager, _ = User.objects.get_or_create(email="mayor@igorville.com", first_name="Hello", last_name="World")
self.manager_domain_permission, _ = UserDomainRole.objects.get_or_create(user=self.manager, domain=self.domain)
- self.client.post(
- reverse("domain-user-delete", kwargs={"pk": self.domain.id, "user_pk": self.manager.id})
- )
+ self.client.post(reverse("domain-user-delete", kwargs={"pk": self.domain.id, "user_pk": self.manager.id}))
# Verify that the notification emails were sent to domain manager
mock_send_templated_email.assert_called_once_with(
From d069e3537bbff60c29ac5449097d4d13b575dda9 Mon Sep 17 00:00:00 2001
From: Erin Song <121973038+erinysong@users.noreply.github.com>
Date: Thu, 30 Jan 2025 14:53:46 -0800
Subject: [PATCH 13/37] Add content edits to deleted manager email
---
.../templates/emails/domain_manager_deleted_notification.txt | 5 +----
1 file changed, 1 insertion(+), 4 deletions(-)
diff --git a/src/registrar/templates/emails/domain_manager_deleted_notification.txt b/src/registrar/templates/emails/domain_manager_deleted_notification.txt
index 542087057..b16b74dec 100644
--- a/src/registrar/templates/emails/domain_manager_deleted_notification.txt
+++ b/src/registrar/templates/emails/domain_manager_deleted_notification.txt
@@ -1,15 +1,13 @@
{% autoescape off %}{# In a text file, we don't want to have HTML entities escaped #}
Hi,{% if domain_manager and domain_manager.first_name %} {{ domain_manager.first_name }}.{% endif %}
-A domain manager was was removed from {{ domain.name }}.
+A domain manager was removed from {{ domain.name }}.
REMOVED BY: {{ removed_by.email }}
REMOVED ON: {{ date }}
MANAGER REMOVED: {{ manager_removed.email }}
-
----------------------------------------------------------------
-
WHY DID YOU RECEIVE THIS EMAIL?
You’re listed as a domain manager for {{ domain.name }}, so you’ll receive a notification whenever a domain manager is removed from that domain.
If you have questions or concerns, reach out to the person who removed the domain manager or reply to this email.
@@ -17,7 +15,6 @@ If you have questions or concerns, reach out to the person who removed the domai
THANK YOU
.Gov helps the public identify official, trusted information. Thank you for using a .gov domain.
-
----------------------------------------------------------------
The .gov team
From 0834a9701ee6756e46555387718d32744fef9299 Mon Sep 17 00:00:00 2001
From: Erin Song <121973038+erinysong@users.noreply.github.com>
Date: Thu, 30 Jan 2025 15:33:55 -0800
Subject: [PATCH 14/37] Update link to message in domain invitation delete
confirmation
---
.../django/admin/domain_invitation_delete_confirmation.html | 2 +-
.../admin/domain_invitation_delete_selected_confirmation.html | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/registrar/templates/django/admin/domain_invitation_delete_confirmation.html b/src/registrar/templates/django/admin/domain_invitation_delete_confirmation.html
index abd0721de..215bf5ada 100644
--- a/src/registrar/templates/django/admin/domain_invitation_delete_confirmation.html
+++ b/src/registrar/templates/django/admin/domain_invitation_delete_confirmation.html
@@ -7,7 +7,7 @@
If you cancel the domain invitation here, it won't trigger any emails. It also won't remove
their domain management privileges if they already have that role assigned. Go to the
- User Domain Roles table
+ User Domain Roles table
if you want to remove the user from a domain.
diff --git a/src/registrar/templates/django/admin/domain_invitation_delete_selected_confirmation.html b/src/registrar/templates/django/admin/domain_invitation_delete_selected_confirmation.html
index 86a4f7134..2e15347c1 100644
--- a/src/registrar/templates/django/admin/domain_invitation_delete_selected_confirmation.html
+++ b/src/registrar/templates/django/admin/domain_invitation_delete_selected_confirmation.html
@@ -7,7 +7,7 @@
If you cancel the domain invitation here, it won't trigger any emails. It also won't remove
their domain management privileges if they already have that role assigned. Go to the
- User Domain Roles table
+ User Domain Roles table
if you want to remove the user from a domain.