From 8f18a409ea8243f53fc9f26177f2a43d844138f4 Mon Sep 17 00:00:00 2001 From: David Kennedy Date: Mon, 18 Nov 2024 13:51:39 -0500 Subject: [PATCH] added logic to not display blue info box in certain condition, and added test --- src/registrar/templates/domain_detail.html | 30 ++++++++++++---------- src/registrar/tests/test_views_domain.py | 21 +++++++++++++++ 2 files changed, 37 insertions(+), 14 deletions(-) diff --git a/src/registrar/templates/domain_detail.html b/src/registrar/templates/domain_detail.html index e2c2d0129..36025bc31 100644 --- a/src/registrar/templates/domain_detail.html +++ b/src/registrar/templates/domain_detail.html @@ -58,22 +58,24 @@ {% include "includes/domain_dates.html" %} - {% if is_portfolio_admin and not is_domain_manager %} -
-
-

- To manage information for this domain, you must add yourself as a domain manager. -

+ {% if analyst_action != 'edit' or analyst_action_location != domain.pk %} + {% if is_portfolio_admin and not is_domain_manager and not is_analyst_managing_domain %} +
+
+

+ To manage information for this domain, you must add yourself as a domain manager. +

+
-
- {% elif is_portfolio_user and not is_domain_manager %} -
-
-

- You don't have access to manage {{domain.name}}. If you need to make updates, contact one of the listed domain managers. -

+ {% elif is_portfolio_user and not is_domain_manager and not is_analyst_managing_domain %} +
+
+

+ You don't have access to manage {{domain.name}}. If you need to make updates, contact one of the listed domain managers. +

+
-
+ {% endif %} {% endif %} diff --git a/src/registrar/tests/test_views_domain.py b/src/registrar/tests/test_views_domain.py index fcb03deb4..fc7df00b1 100644 --- a/src/registrar/tests/test_views_domain.py +++ b/src/registrar/tests/test_views_domain.py @@ -323,6 +323,27 @@ class TestDomainDetail(TestDomainOverview): self.assertContains(detail_page, "noinformation.gov") self.assertContains(detail_page, "Domain missing domain information") + def test_domain_detail_with_analyst_managing_domain(self): + """Test that domain management page returns 200 and does not display + blue error message when an analyst is managing the domain""" + with less_console_noise(): + # have to use staff user for this test + staff_user = create_user() + # staff_user.save() + self.client.force_login(staff_user) + + # need to set the analyst_action and analyst_action_location + # in the session to emulate user clicking Manage Domain + # in the admin interface + session = self.client.session + session["analyst_action"] = "edit" + session["analyst_action_location"] = self.domain.id + session.save() + + detail_page = self.client.get(reverse("domain", kwargs={"pk": self.domain.id})) + + self.assertNotContains(detail_page, "To manage information for this domain, you must add yourself as a domain manager.") + @less_console_noise_decorator @override_flag("organization_feature", active=True) def test_domain_readonly_on_detail_page(self):