From 2ad571354e16046a53ddba402be2ea8cfb1017ce Mon Sep 17 00:00:00 2001 From: zandercymatics <141044360+zandercymatics@users.noreply.github.com> Date: Tue, 19 Mar 2024 11:15:05 -0600 Subject: [PATCH] Basics --- src/registrar/admin.py | 4 ++ src/registrar/templates/admin/fieldset.html | 49 ++++++++++++++ .../admin/domain_request_change_form.html | 8 +++ .../includes/domain_request_fieldset.html | 65 +++++++++++++++++++ 4 files changed, 126 insertions(+) create mode 100644 src/registrar/templates/admin/fieldset.html create mode 100644 src/registrar/templates/django/admin/domain_request_change_form.html create mode 100644 src/registrar/templates/django/admin/includes/domain_request_fieldset.html diff --git a/src/registrar/admin.py b/src/registrar/admin.py index 5f571ac73..a5ad62492 100644 --- a/src/registrar/admin.py +++ b/src/registrar/admin.py @@ -1099,6 +1099,8 @@ class DomainRequestAdmin(ListHeaderAdmin): "about_your_organization", "requested_domain", "approved_domain", + "other_contacts", + "current_websites", "alternative_domains", "purpose", "submitter", @@ -1119,6 +1121,8 @@ class DomainRequestAdmin(ListHeaderAdmin): # Table ordering ordering = ["requested_domain__name"] + change_form_template = "django/admin/domain_request_change_form.html" + # Trigger action when a fieldset is changed def save_model(self, request, obj, form, change): """Custom save_model definition that handles edge cases""" diff --git a/src/registrar/templates/admin/fieldset.html b/src/registrar/templates/admin/fieldset.html new file mode 100644 index 000000000..dadae5811 --- /dev/null +++ b/src/registrar/templates/admin/fieldset.html @@ -0,0 +1,49 @@ +{% load i18n static %} + +{% comment %} +This is copied from Djangos implementation of this template, with added "blocks" +It is not inherently customizable on its own, so we can modify this instead. +https://github.com/django/django/blob/main/django/contrib/admin/templates/admin/includes/fieldset.html +{% endcomment %} +
+ {% block fieldset_title %} + {% if fieldset.name %}

{{ fieldset.name }}

{% endif %} + {% endblock fieldset_title %} + + {% block fieldset_description %} + {% if fieldset.description %} +
{{ fieldset.description|safe }}
+ {% endif %} + {% endblock fieldset_description %} + + {% block fieldset_lines %} + {% for line in fieldset %} +
+ {% if line.fields|length == 1 %}{{ line.errors }}{% else %}
{% endif %} + {% for field in line %} +
+ {% if not line.fields|length == 1 and not field.is_readonly %}{{ field.errors }}{% endif %} +
+ {% if field.is_checkbox %} + {{ field.field }}{{ field.label_tag }} + {% else %} + {{ field.label_tag }} + {% if field.is_readonly %} +
{{ field.contents }}
+ {% else %} + {{ field.field }} + {% endif %} + {% endif %} +
+ {% if field.field.help_text %} +
+
{{ field.field.help_text|safe }}
+
+ {% endif %} +
+ {% endfor %} + {% if not line.fields|length == 1 %}
{% endif %} +
+ {% endfor %} + {% endblock fieldset_lines %} +
\ No newline at end of file diff --git a/src/registrar/templates/django/admin/domain_request_change_form.html b/src/registrar/templates/django/admin/domain_request_change_form.html new file mode 100644 index 000000000..e48ab37a0 --- /dev/null +++ b/src/registrar/templates/django/admin/domain_request_change_form.html @@ -0,0 +1,8 @@ +{% extends 'admin/change_form.html' %} +{% load i18n static %} + +{% block field_sets %} + {% for fieldset in adminform %} + {% include "django/admin/includes/domain_request_fieldset.html" %} + {% endfor %} +{% endblock %} diff --git a/src/registrar/templates/django/admin/includes/domain_request_fieldset.html b/src/registrar/templates/django/admin/includes/domain_request_fieldset.html new file mode 100644 index 000000000..fb7232a45 --- /dev/null +++ b/src/registrar/templates/django/admin/includes/domain_request_fieldset.html @@ -0,0 +1,65 @@ +{% extends "admin/fieldset.html" %} + +{% comment %} +This is using a custom implementation fieldset.html (see admin/fieldset.html) +{% endcomment %} +{% block fieldset_lines %} +{% for line in fieldset %} +
+ {% if line.fields|length == 1 %}{{ line.errors }}{% else %}
{% endif %} + {% for field in line %} +
+ {% if not line.fields|length == 1 and not field.is_readonly %}{{ field.errors }}{% endif %} +
+ {% if field.is_checkbox %} + {{ field.field }}{{ field.label_tag }} + {% else %} + {{ field.label_tag }} + {% if field.is_readonly %} +
{{ field.contents }}
+ {% else %} + {{ field.field }} + {% endif %} + {% endif %} +
+ {% if field.field.name == "creator" %} +
    + {% if original.creator.title %} +
  • {{ original.creator.title }}
  • + {% endif %} + + {% if original.creator.email %} +
  • {{ original.creator.email }}
  • + {% endif %} + + {% if original.creator.phone %} +
  • {{ original.creator.phone }}
  • + {% endif %} +
+ {% elif field.field.name == "submitter" %} +
    + {% if original.submitter.title %} +
  • {{ original.submitter.title }}
  • + {% endif %} + + {% if original.submitter.email %} +
  • {{ original.submitter.email }}
  • + {% endif %} + + {% if original.submitter.phone %} +
  • {{ original.submitter.phone }}
  • + {% endif %} +
+ {% endif %} + {% if field.field.help_text %} +
+
{{ field.field.help_text|safe }}
+
+ {% endif %} +
+ {% endfor %} + {% if not line.fields|length == 1 %}
{% endif %} +
+{% endfor %} + +{% endblock fieldset_lines %}