Revise template

This commit is contained in:
Rachid Mrad 2024-01-26 13:20:01 -05:00
parent d9222864f9
commit fedca30980
No known key found for this signature in database
GPG key ID: EF38E4CEC4A8F3CF
3 changed files with 41 additions and 16 deletions

View file

@ -490,14 +490,15 @@ class ContactAdmin(ListHeaderAdmin):
related_objects.append((change_url, obj)) related_objects.append((change_url, obj))
if related_objects: if related_objects:
message = "" message = "<ul class='messagelist_content-list--unstyled'>"
for i, (url, obj) in enumerate(related_objects): for i, (url, obj) in enumerate(related_objects):
if i < 5: if i < 5:
escaped_obj = escape(obj) escaped_obj = escape(obj)
message += f"Joined to {obj.__class__.__name__}: <a href='{url}'>{escaped_obj}</a><br/>" message += f"<li>Joined to {obj.__class__.__name__}: <a href='{url}'>{escaped_obj}</a></li>"
message += "</ul>"
if len(related_objects) > 5: if len(related_objects) > 5:
related_objects_over_five = len(related_objects) - 5 related_objects_over_five = len(related_objects) - 5
message += f"And {related_objects_over_five} more..." message += f"<p class='font-sans-3xs'>And {related_objects_over_five} more...</p>"
message_html = mark_safe(message) # nosec message_html = mark_safe(message) # nosec
messages.warning( messages.warning(

View file

@ -258,3 +258,15 @@ h1, h2, h3,
#select2-id_user-results { #select2-id_user-results {
width: 100%; width: 100%;
} }
// Content list inside of a DjA alert, unstyled
.messagelist_content-list--unstyled {
padding-left: 0;
li {
font-family: "Source Sans Pro Web", "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
font-size: 13.92px!important;
background: none!important;
padding: 0!important;
margin: 0!important;
}
}

View file

@ -1756,17 +1756,22 @@ class ContactAdminTest(TestCase):
# Use the test client to simulate the request # Use the test client to simulate the request
response = self.client.get(reverse("admin:registrar_contact_change", args=[contact.pk])) response = self.client.get(reverse("admin:registrar_contact_change", args=[contact.pk]))
logger.info(mock_warning)
# Assert that the error message was called with the correct argument # Assert that the error message was called with the correct argument
# Note: The 5th join will be a user. # Note: The 5th join will be a user.
mock_warning.assert_called_once_with( mock_warning.assert_called_once_with(
response.wsgi_request, response.wsgi_request,
f"Joined to DomainApplication: <a href='/admin/registrar/domainapplication/{application1.pk}/change/'>city1.gov</a><br/>" "<ul class='messagelist_content-list--unstyled'>"
f"Joined to DomainApplication: <a href='/admin/registrar/domainapplication/{application2.pk}/change/'>city2.gov</a><br/>" "<li>Joined to DomainApplication: <a href='/admin/registrar/"
f"Joined to DomainApplication: <a href='/admin/registrar/domainapplication/{application3.pk}/change/'>city3.gov</a><br/>" f"domainapplication/{application1.pk}/change/'>city1.gov</a></li>"
f"Joined to DomainApplication: <a href='/admin/registrar/domainapplication/{application4.pk}/change/'>city4.gov</a><br/>" "<li>Joined to DomainApplication: <a href='/admin/registrar/"
"Joined to User: <a href='/admin/registrar/user/2/change/'>staff@example.com</a><br/>", f"domainapplication/{application2.pk}/change/'>city2.gov</a></li>"
"<li>Joined to DomainApplication: <a href='/admin/registrar/"
f"domainapplication/{application3.pk}/change/'>city3.gov</a></li>"
"<li>Joined to DomainApplication: <a href='/admin/registrar/"
f"domainapplication/{application4.pk}/change/'>city4.gov</a></li>"
"<li>Joined to User: <a href='/admin/registrar/"
f"user/{self.staffuser.pk}/change/'>staff@example.com</a></li>"
"</ul>",
) )
def test_change_view_for_joined_contact_five_or_more(self): def test_change_view_for_joined_contact_five_or_more(self):
@ -1794,12 +1799,19 @@ class ContactAdminTest(TestCase):
# Note: The 6th join will be a user. # Note: The 6th join will be a user.
mock_warning.assert_called_once_with( mock_warning.assert_called_once_with(
response.wsgi_request, response.wsgi_request,
f"Joined to DomainApplication: <a href='/admin/registrar/domainapplication/{application1.pk}/change/'>city1.gov</a><br/>" "<ul class='messagelist_content-list--unstyled'>"
f"Joined to DomainApplication: <a href='/admin/registrar/domainapplication/{application2.pk}/change/'>city2.gov</a><br/>" "<li>Joined to DomainApplication: <a href='/admin/registrar/"
f"Joined to DomainApplication: <a href='/admin/registrar/domainapplication/{application3.pk}/change/'>city3.gov</a><br/>" f"domainapplication/{application1.pk}/change/'>city1.gov</a></li>"
f"Joined to DomainApplication: <a href='/admin/registrar/domainapplication/{application4.pk}/change/'>city4.gov</a><br/>" "<li>Joined to DomainApplication: <a href='/admin/registrar/"
f"Joined to DomainApplication: <a href='/admin/registrar/domainapplication/{application5.pk}/change/'>city5.gov</a><br/>" f"domainapplication/{application2.pk}/change/'>city2.gov</a></li>"
"And 1 more...", "<li>Joined to DomainApplication: <a href='/admin/registrar/"
f"domainapplication/{application3.pk}/change/'>city3.gov</a></li>"
"<li>Joined to DomainApplication: <a href='/admin/registrar/"
f"domainapplication/{application4.pk}/change/'>city4.gov</a></li>"
"<li>Joined to DomainApplication: <a href='/admin/registrar/"
f"domainapplication/{application5.pk}/change/'>city5.gov</a></li>"
"</ul>"
"<p class='font-sans-3xs'>And 1 more...</p>",
) )
def tearDown(self): def tearDown(self):