Revise to show ellipsis with numbers, unit tests

This commit is contained in:
Rachid Mrad 2024-01-25 14:37:29 -05:00
parent a9a256127a
commit 6c8e1fec59
No known key found for this signature in database
GPG key ID: EF38E4CEC4A8F3CF
3 changed files with 85 additions and 13 deletions

View file

@ -491,11 +491,14 @@ class ContactAdmin(ListHeaderAdmin):
if related_objects:
message = ""
for url, obj in related_objects:
escaped_obj = escape(obj)
message += f"Joined to {obj.__class__.__name__}: <a href='{url}'>{escaped_obj}</a><br/>"
# message_html is considered safe html. It is generated from a finite list of strings
# which are generated from django objects. And a django object, which is escaped
for i, (url, obj) in enumerate(related_objects):
if i < 5:
escaped_obj = escape(obj)
message += f"Joined to {obj.__class__.__name__}: <a href='{url}'>{escaped_obj}</a><br/>"
if len(related_objects) > 5:
related_objects_over_five = len(related_objects) - 5
message += f"And {related_objects_over_five} more..."
message_html = mark_safe(message) # nosec
messages.warning(
request,