From 8d65973c826993bdac2ff94d122b5c0ac18a7cbc Mon Sep 17 00:00:00 2001 From: Daniel Sheppard Date: Mon, 20 Jan 2025 13:13:19 -0600 Subject: [PATCH] Simplify table header filter rendering --- netbox/templates/inc/table_htmx.html | 4 +--- .../form_helpers/render_table_filter_field.html} | 2 +- netbox/utilities/templatetags/form_helpers.py | 8 +++----- 3 files changed, 5 insertions(+), 9 deletions(-) rename netbox/{templates/inc/table_header_filter_dropdown.html => utilities/templates/form_helpers/render_table_filter_field.html} (77%) diff --git a/netbox/templates/inc/table_htmx.html b/netbox/templates/inc/table_htmx.html index e9d61d6e7..f6ed98f2c 100644 --- a/netbox/templates/inc/table_htmx.html +++ b/netbox/templates/inc/table_htmx.html @@ -21,9 +21,7 @@ > {% endif %} - {% if table.filterset_form %} - {% include 'inc/table_header_filter_dropdown.html' with form_field=table.filterset_form|get_filter_field:column.name %} - {% endif %} + {% render_table_filter_field form_field=filter_form|get_filter_field:column.name table=table request=request%} diff --git a/netbox/utilities/templatetags/form_helpers.py b/netbox/utilities/templatetags/form_helpers.py index ed33b09b1..1c9f9b32d 100644 --- a/netbox/utilities/templatetags/form_helpers.py +++ b/netbox/utilities/templatetags/form_helpers.py @@ -4,10 +4,10 @@ from utilities.forms.rendering import InlineFields, ObjectAttribute, TabbedGroup __all__ = ( 'getfield', - 'get_filter_field', 'render_custom_fields', 'render_errors', 'render_field', + 'render_table_filter_field', 'render_form', 'widget_type', ) @@ -34,9 +34,7 @@ def getfield(form, fieldname): @register.filter() def get_filter_field(form, fieldname): - # Check for a table form column map attribute and use that to map form fields if set - if hasattr(form, '_table_form_column_map') and form._table_form_column_map.get(fieldname): - return getfield(form, form._table_form_column_map.get(fieldname)) + return getfield(form, f'{fieldname}') or getfield(form, f'{fieldname}_id') @@ -128,7 +126,7 @@ def render_field(field, bulk_nullable=False, label=None): } -@register.inclusion_tag('form_helpers/render_field.html') +@register.inclusion_tag('form_helpers/render_table_filter_field.html') def render_table_filter_field(field, table, request): """ Render a single form field for table column filters from template