From 12c044d29ad515d72f634d7b1f8af18ace963857 Mon Sep 17 00:00:00 2001 From: Rebecca Hsieh Date: Mon, 3 Jun 2024 13:16:18 -0700 Subject: [PATCH 1/6] Update titles for registrar --- src/registrar/templates/domain_authorizing_official.html | 2 +- src/registrar/templates/domain_base.html | 2 +- src/registrar/templates/domain_request_intro.html | 2 ++ 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/registrar/templates/domain_authorizing_official.html b/src/registrar/templates/domain_authorizing_official.html index aa9808c2e..e5f2f09ba 100644 --- a/src/registrar/templates/domain_authorizing_official.html +++ b/src/registrar/templates/domain_authorizing_official.html @@ -1,7 +1,7 @@ {% extends "domain_base.html" %} {% load static field_helpers url_helpers %} -{% block title %}Domain authorizing official | {{ domain.name }} | {% endblock %} +{% block title %}Authorizing official | {{ domain.name }} | {% endblock %} {% block domain_content %} {# this is right after the messages block in the parent template #} diff --git a/src/registrar/templates/domain_base.html b/src/registrar/templates/domain_base.html index 90c730028..9a869ef42 100644 --- a/src/registrar/templates/domain_base.html +++ b/src/registrar/templates/domain_base.html @@ -1,7 +1,7 @@ {% extends "base.html" %} {% load static %} -{% block title %}Domain: {{ domain.name }} | {% endblock %} +{% block title %}{{ domain.name }} | {% endblock %} {% block content %}
diff --git a/src/registrar/templates/domain_request_intro.html b/src/registrar/templates/domain_request_intro.html index d6d3b3b7f..359e37c51 100644 --- a/src/registrar/templates/domain_request_intro.html +++ b/src/registrar/templates/domain_request_intro.html @@ -1,6 +1,8 @@ {% extends 'base.html' %} {% load static form_helpers url_helpers %} +{% block title %} Start a request | {% endblock %} + {% block content %}
From 6bcbf9c170f520744b2a40591b2c85c94a7bcf2a Mon Sep 17 00:00:00 2001 From: Rebecca Hsieh Date: Mon, 3 Jun 2024 14:36:44 -0700 Subject: [PATCH 2/6] Overwriting current tab titles trial 1 --- src/registrar/templates/admin/base_site.html | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/src/registrar/templates/admin/base_site.html b/src/registrar/templates/admin/base_site.html index dd680cec5..6a4a21d6b 100644 --- a/src/registrar/templates/admin/base_site.html +++ b/src/registrar/templates/admin/base_site.html @@ -26,10 +26,25 @@ {% endblock %} -{% block title %}{% if subtitle %}{{ subtitle }} | {% endif %}{{ title }} | {{ site_title|default:_('Django site admin') }}{% endblock %} +{% block title %} + {% if subtitle %} + {{ subtitle }} | + {% endif %} + {% if title == "Audit log administration" %} + Audit log | + {% elif title == "Select log entry to change" %} + Log entries | + {% elif title == "Select log entry to view" %} + Log entries | + {% else %} + {{ title }} | + {% endif %} + {{ site_title|default:_('Django site admin') }} +{% endblock %} + {% block extrastyle %}{{ block.super }} -{% endblock %} +{% endblock %} {% block header %} {% if not IS_PRODUCTION %} From 9291bb5850ccafc32fe506430a260928477d26b1 Mon Sep 17 00:00:00 2001 From: Rebecca Hsieh Date: Wed, 5 Jun 2024 16:28:52 -0700 Subject: [PATCH 3/6] Update tab titles for specific admin models --- src/registrar/admin.py | 126 ++++++++++++++++++ src/registrar/templates/admin/base_site.html | 8 +- .../templates/includes/gov_extended_logo.html | 2 +- 3 files changed, 129 insertions(+), 7 deletions(-) diff --git a/src/registrar/admin.py b/src/registrar/admin.py index f782f7c62..568a78c05 100644 --- a/src/registrar/admin.py +++ b/src/registrar/admin.py @@ -383,6 +383,39 @@ class CustomLogEntryAdmin(LogEntryAdmin): change_form_template = "admin/change_form_no_submit.html" add_form_template = "admin/change_form_no_submit.html" + # Select log entry to change -> Log entries + def changelist_view(self, request, extra_context=None): + if extra_context is None: + extra_context = {} + extra_context["tabtitle"] = "Log entries" + return super().changelist_view(request, extra_context=extra_context) + + # #786: Skipping on updating audit log tab titles for now + # def change_view(self, request, object_id, form_url="", extra_context=None): + # if extra_context is None: + # extra_context = {} + + # log_entry = self.get_object(request, object_id) + + # if log_entry: + # # Reset title to empty string + # extra_context["subtitle"] = "" + # extra_context["tabtitle"] = "" + + # object_repr = log_entry.object_repr # Hold name of the object + # changes = log_entry.changes + + # # Check if this is a log entry for an addition and related to the contact model + # # Created [name] -> Created [name] contact | Change log entry + # if ( + # all(new_value != "None" for field, (old_value, new_value) in changes.items()) + # and log_entry.content_type.model == "contact" + # ): + # extra_context["subtitle"] = f"Created {object_repr} contact" + # extra_context["tabtitle"] = "Change log entry" + + # return super().change_view(request, object_id, form_url, extra_context=extra_context) + class AdminSortFields: _name_sort = ["first_name", "last_name", "email"] @@ -778,6 +811,14 @@ class MyHostAdmin(AuditedAdmin, ImportExportModelAdmin): search_help_text = "Search by domain or host name." inlines = [HostIPInline] + # Select host to change -> Host + def changelist_view(self, request, extra_context=None): + if extra_context is None: + extra_context = {} + extra_context["tabtitle"] = "Host" + # Get the filtered values + return super().changelist_view(request, extra_context=extra_context) + class HostIpResource(resources.ModelResource): """defines how each field in the referenced model should be mapped to the corresponding fields in the @@ -793,6 +834,14 @@ class HostIpAdmin(AuditedAdmin, ImportExportModelAdmin): resource_classes = [HostIpResource] model = models.HostIP + # Select host ip to change -> Host ip + def changelist_view(self, request, extra_context=None): + if extra_context is None: + extra_context = {} + extra_context["tabtitle"] = "Host IP" + # Get the filtered values + return super().changelist_view(request, extra_context=extra_context) + class ContactResource(resources.ModelResource): """defines how each field in the referenced model should be mapped to the corresponding fields in the @@ -926,6 +975,14 @@ class ContactAdmin(ListHeaderAdmin, ImportExportModelAdmin): return super().change_view(request, object_id, form_url, extra_context=extra_context) + # Select contact to change -> Contacts + def changelist_view(self, request, extra_context=None): + if extra_context is None: + extra_context = {} + extra_context["tabtitle"] = "Contacts" + # Get the filtered values + return super().changelist_view(request, extra_context=extra_context) + class WebsiteResource(resources.ModelResource): """defines how each field in the referenced model should be mapped to the corresponding fields in the @@ -1043,6 +1100,21 @@ class UserDomainRoleAdmin(ListHeaderAdmin, ImportExportModelAdmin): else: return response + # User Domain manager [email] is manager on domain [domain name] -> + # Domain manager [email] on [domain name] + def changeform_view(self, request, object_id=None, form_url="", extra_context=None): + if extra_context is None: + extra_context = {} + + if object_id: + obj = self.get_object(request, object_id) + if obj: + email = obj.user.email + domain_name = obj.domain.name + extra_context["subtitle"] = f"Domain manager {email} on {domain_name}" + + return super().changeform_view(request, object_id, form_url, extra_context=extra_context) + class DomainInvitationAdmin(ListHeaderAdmin): """Custom domain invitation admin class.""" @@ -1079,6 +1151,14 @@ class DomainInvitationAdmin(ListHeaderAdmin): change_form_template = "django/admin/email_clipboard_change_form.html" + # Select domain invitations to change -> Domain invitations + def changelist_view(self, request, extra_context=None): + if extra_context is None: + extra_context = {} + extra_context["tabtitle"] = "Domain invitations" + # Get the filtered values + return super().changelist_view(request, extra_context=extra_context) + class DomainInformationResource(resources.ModelResource): """defines how each field in the referenced model should be mapped to the corresponding fields in the @@ -1219,6 +1299,14 @@ class DomainInformationAdmin(ListHeaderAdmin, ImportExportModelAdmin): readonly_fields.extend([field for field in self.analyst_readonly_fields]) return readonly_fields # Read-only fields for analysts + # Select domain information to change -> Domain information + def changelist_view(self, request, extra_context=None): + if extra_context is None: + extra_context = {} + extra_context["tabtitle"] = "Domain information" + # Get the filtered values + return super().changelist_view(request, extra_context=extra_context) + class DomainRequestResource(FsmModelResource): """defines how each field in the referenced model should be mapped to the corresponding fields in the @@ -1687,6 +1775,14 @@ class DomainRequestAdmin(ListHeaderAdmin, ImportExportModelAdmin): self.display_restricted_warning(request, obj) return super().change_view(request, object_id, form_url, extra_context) + # Select domain request to change -> Domain requests + def changelist_view(self, request, extra_context=None): + if extra_context is None: + extra_context = {} + extra_context["tabtitle"] = "Domain requests" + # Get the filtered values + return super().changelist_view(request, extra_context=extra_context) + class TransitionDomainAdmin(ListHeaderAdmin): """Custom transition domain admin class.""" @@ -2244,6 +2340,14 @@ class DraftDomainAdmin(ListHeaderAdmin, ImportExportModelAdmin): # If no redirection is needed, return the original response return response + # Select draft domain to change -> Draft domains + def changelist_view(self, request, extra_context=None): + if extra_context is None: + extra_context = {} + extra_context["tabtitle"] = "Draft domains" + # Get the filtered values + return super().changelist_view(request, extra_context=extra_context) + class PublicContactResource(resources.ModelResource): """defines how each field in the referenced model should be mapped to the corresponding fields in the @@ -2288,6 +2392,20 @@ class PublicContactAdmin(ListHeaderAdmin, ImportExportModelAdmin): change_form_template = "django/admin/email_clipboard_change_form.html" autocomplete_fields = ["domain"] + def changeform_view(self, request, object_id=None, form_url="", extra_context=None): + if extra_context is None: + extra_context = {} + + if object_id: + obj = self.get_object(request, object_id) + if obj: + name = obj.name + email = obj.email + registry_id = obj.registry_id + extra_context["subtitle"] = f"{name} <{email}> id: {registry_id}" + + return super().changeform_view(request, object_id, form_url, extra_context=extra_context) + class VerifiedByStaffAdmin(ListHeaderAdmin): list_display = ("email", "requestor", "truncated_notes", "created_at") @@ -2340,6 +2458,14 @@ class UserGroupAdmin(AuditedAdmin): def user_group(self, obj): return obj.name + # Select user groups to change -> User groups + def changelist_view(self, request, extra_context=None): + if extra_context is None: + extra_context = {} + extra_context["tabtitle"] = "User groups" + # Get the filtered values + return super().changelist_view(request, extra_context=extra_context) + class WaffleFlagAdmin(FlagAdmin): """Custom admin implementation of django-waffle's Flag class""" diff --git a/src/registrar/templates/admin/base_site.html b/src/registrar/templates/admin/base_site.html index 6a4a21d6b..db34fd893 100644 --- a/src/registrar/templates/admin/base_site.html +++ b/src/registrar/templates/admin/base_site.html @@ -30,12 +30,8 @@ {% if subtitle %} {{ subtitle }} | {% endif %} - {% if title == "Audit log administration" %} - Audit log | - {% elif title == "Select log entry to change" %} - Log entries | - {% elif title == "Select log entry to view" %} - Log entries | + {% if tabtitle %} + {{ tabtitle }} | {% else %} {{ title }} | {% endif %} diff --git a/src/registrar/templates/includes/gov_extended_logo.html b/src/registrar/templates/includes/gov_extended_logo.html index f08aa2c85..be6aba16b 100644 --- a/src/registrar/templates/includes/gov_extended_logo.html +++ b/src/registrar/templates/includes/gov_extended_logo.html @@ -3,7 +3,7 @@