From 1bcc57e51ee67832b42cb5151d66d2e2ccae5a4c Mon Sep 17 00:00:00 2001 From: zandercymatics <141044360+zandercymatics@users.noreply.github.com> Date: Wed, 10 Apr 2024 13:05:17 -0600 Subject: [PATCH] Add inline --- src/registrar/admin.py | 9 ++++----- .../templates/django/admin/domain_change_form.html | 6 ++++++ .../admin/domain_information_change_form.html | 2 +- .../django/admin/domain_request_change_form.html | 2 +- .../admin/includes/detail_table_fieldset.html | 14 +++++++------- .../domain_information_inline_change_form.html | 2 +- 6 files changed, 20 insertions(+), 15 deletions(-) rename src/registrar/templates/django/admin/{ => includes}/domain_information_inline_change_form.html (79%) diff --git a/src/registrar/admin.py b/src/registrar/admin.py index 21850364e..e357e36b1 100644 --- a/src/registrar/admin.py +++ b/src/registrar/admin.py @@ -1,7 +1,7 @@ from datetime import date import logging import copy - +from django.forms.models import BaseInlineFormSet from django import forms from django.db.models import Value, CharField, Q from django.db.models.functions import Concat, Coalesce @@ -69,7 +69,6 @@ class DomainInformationInlineForm(forms.ModelForm): widgets = { "other_contacts": NoAutocompleteFilteredSelectMultiple("other_contacts", False), } - template = "django/admin/domain_information_change_form.html" class DomainRequestAdminForm(forms.ModelForm): @@ -1442,7 +1441,6 @@ class DomainInformationInline(admin.StackedInline): form = DomainInformationInlineForm model = models.DomainInformation - template = "django/admin/domain_information_inline_change_form.html" fieldsets = copy.deepcopy(DomainInformationAdmin.fieldsets) # remove .gov domain from fieldset @@ -1450,7 +1448,8 @@ class DomainInformationInline(admin.StackedInline): if title == ".gov domain": del fieldsets[index] break - + + readonly_fields = DomainInformationAdmin.readonly_fields analyst_readonly_fields = DomainInformationAdmin.analyst_readonly_fields # For each filter_horizontal, init in admin js extendFilterHorizontalWidgets # to activate the edit/delete/view buttons @@ -1616,7 +1615,7 @@ class DomainAdmin(ListHeaderAdmin): """Custom changeform implementation to pass in context information""" if extra_context is None: extra_context = {} - + extra_context["original_object"] = self.model.objects.get(pk=object_id) # Pass in what the an extended expiration date would be for the expiration date modal if object_id is not None: domain = Domain.objects.get(pk=object_id) diff --git a/src/registrar/templates/django/admin/domain_change_form.html b/src/registrar/templates/django/admin/domain_change_form.html index 44fe6851b..8d9f59675 100644 --- a/src/registrar/templates/django/admin/domain_change_form.html +++ b/src/registrar/templates/django/admin/domain_change_form.html @@ -36,6 +36,12 @@ {{ block.super }} {% endblock %} +{% block inline_field_sets %} + {% for inline_admin_formset in inline_admin_formsets %} + {% include "django/admin/includes/domain_information_inline_change_form.html" with original_object=original.domain_info%} + {% endfor %} +{% endblock %} + {% block submit_buttons_bottom %} {% comment %} Modals behave very weirdly in django admin. diff --git a/src/registrar/templates/django/admin/domain_information_change_form.html b/src/registrar/templates/django/admin/domain_information_change_form.html index f58ee2239..d20e33151 100644 --- a/src/registrar/templates/django/admin/domain_information_change_form.html +++ b/src/registrar/templates/django/admin/domain_information_change_form.html @@ -10,6 +10,6 @@ Use detail_table_fieldset as an example, or just extend it. {% endcomment %} - {% include "django/admin/includes/detail_table_fieldset.html" %} + {% include "django/admin/includes/detail_table_fieldset.html" with original_object=original %} {% endfor %} {% endblock %} diff --git a/src/registrar/templates/django/admin/domain_request_change_form.html b/src/registrar/templates/django/admin/domain_request_change_form.html index 3b4fa7283..cb1ba38c0 100644 --- a/src/registrar/templates/django/admin/domain_request_change_form.html +++ b/src/registrar/templates/django/admin/domain_request_change_form.html @@ -14,7 +14,7 @@ Use detail_table_fieldset as an example, or just extend it. {% endcomment %} - {% include "django/admin/includes/detail_table_fieldset.html" %} + {% include "django/admin/includes/detail_table_fieldset.html" with original_object=original %} {% endfor %} {% endblock %} diff --git a/src/registrar/templates/django/admin/includes/detail_table_fieldset.html b/src/registrar/templates/django/admin/includes/detail_table_fieldset.html index a0a679290..9a89ec510 100644 --- a/src/registrar/templates/django/admin/includes/detail_table_fieldset.html +++ b/src/registrar/templates/django/admin/includes/detail_table_fieldset.html @@ -5,7 +5,7 @@ This is using a custom implementation fieldset.html (see admin/fieldset.html) {% endcomment %} {% block field_readonly %} - {% with all_contacts=original.other_contacts.all %} + {% with all_contacts=original_object.other_contacts.all %} {% if field.field.name == "other_contacts" %} {% if all_contacts.count > 2 %}
@@ -49,7 +49,7 @@ This is using a custom implementation fieldset.html (see admin/fieldset.html)
{% elif field.field.name == "alternative_domains" %}
- {% for alt_domain in original.alternative_domains.all %} + {% for alt_domain in original_object.alternative_domains.all %} {{ alt_domain }}{% if not forloop.last %}, {% endif %} {% endfor %}
@@ -63,20 +63,20 @@ This is using a custom implementation fieldset.html (see admin/fieldset.html) {% if field.field.name == "creator" %}
- {% include "django/admin/includes/contact_detail_list.html" with user=original.creator no_title_top_padding=field.is_readonly %} + {% include "django/admin/includes/contact_detail_list.html" with user=original_object.creator no_title_top_padding=field.is_readonly %}
{% elif field.field.name == "submitter" %}
- {% include "django/admin/includes/contact_detail_list.html" with user=original.submitter no_title_top_padding=field.is_readonly %} + {% include "django/admin/includes/contact_detail_list.html" with user=original_object.submitter no_title_top_padding=field.is_readonly %}
{% elif field.field.name == "authorizing_official" %}
- {% include "django/admin/includes/contact_detail_list.html" with user=original.authorizing_official no_title_top_padding=field.is_readonly %} + {% include "django/admin/includes/contact_detail_list.html" with user=original_object.authorizing_official no_title_top_padding=field.is_readonly %}
- {% elif field.field.name == "other_contacts" and original.other_contacts.all %} - {% with all_contacts=original.other_contacts.all %} + {% elif field.field.name == "other_contacts" and original_object.other_contacts.all %} + {% with all_contacts=original_object.other_contacts.all %} {% if all_contacts.count > 2 %}
Details diff --git a/src/registrar/templates/django/admin/domain_information_inline_change_form.html b/src/registrar/templates/django/admin/includes/domain_information_inline_change_form.html similarity index 79% rename from src/registrar/templates/django/admin/domain_information_inline_change_form.html rename to src/registrar/templates/django/admin/includes/domain_information_inline_change_form.html index a84981847..414c485e5 100644 --- a/src/registrar/templates/django/admin/domain_information_inline_change_form.html +++ b/src/registrar/templates/django/admin/includes/domain_information_inline_change_form.html @@ -2,5 +2,5 @@ {% load i18n static %} {% block fieldset %} - {% include "django/admin/includes/detail_table_fieldset.html" %} + {% include "django/admin/includes/detail_table_fieldset.html" with original_object=original_object %} {% endblock %}