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 %}