From c68b739d0a0965ee0d65d35be70cb7281d177fcd Mon Sep 17 00:00:00 2001 From: Jason Novinger Date: Fri, 16 May 2025 15:12:56 -0500 Subject: [PATCH] Address PR feedback, revert changes to render_fieldset template tag --- netbox/netbox/models/mixins.py | 2 +- netbox/utilities/forms/mixins.py | 1 + .../templates/form_helpers/render_fieldset.html | 6 +++--- netbox/utilities/templatetags/form_helpers.py | 14 ++++---------- 4 files changed, 9 insertions(+), 14 deletions(-) diff --git a/netbox/netbox/models/mixins.py b/netbox/netbox/models/mixins.py index 46a85b126..13af8aaf5 100644 --- a/netbox/netbox/models/mixins.py +++ b/netbox/netbox/models/mixins.py @@ -1,7 +1,7 @@ - from django.core.exceptions import ValidationError from django.db import models from django.utils.translation import gettext_lazy as _ + from netbox.choices import * from utilities.conversion import to_grams, to_meters diff --git a/netbox/utilities/forms/mixins.py b/netbox/utilities/forms/mixins.py index 058681060..ca0f64e54 100644 --- a/netbox/utilities/forms/mixins.py +++ b/netbox/utilities/forms/mixins.py @@ -7,6 +7,7 @@ from django.utils.translation import gettext_lazy as _ __all__ = ( 'CheckLastUpdatedMixin', + 'DistanceValidationMixin', ) diff --git a/netbox/utilities/templates/form_helpers/render_fieldset.html b/netbox/utilities/templates/form_helpers/render_fieldset.html index a9d980f4d..1821a3cb7 100644 --- a/netbox/utilities/templates/form_helpers/render_fieldset.html +++ b/netbox/utilities/templates/form_helpers/render_fieldset.html @@ -6,7 +6,7 @@

{{ heading }}

{% endif %} - {% for layout, title, items, has_field_errors in rows %} + {% for layout, title, items in rows %} {% if layout == 'field' %} {# Single form field #} @@ -25,10 +25,10 @@ {% elif layout == 'inline' %} {# Multiple form fields on the same line #} -
+
{% for field in items %} -
+
{{ field }}
{% trans field.label %}
{% if field.errors %} diff --git a/netbox/utilities/templatetags/form_helpers.py b/netbox/utilities/templatetags/form_helpers.py index b5f83c565..ec53fe97c 100644 --- a/netbox/utilities/templatetags/form_helpers.py +++ b/netbox/utilities/templatetags/form_helpers.py @@ -51,11 +51,8 @@ def widget_type(field): def render_fieldset(form, fieldset): """ Render a group set of fields. - - The signature for row tuples is (layout, title, items, has_field_errors). """ rows = [] - for item in fieldset.items: # Multiple fields side-by-side @@ -64,7 +61,7 @@ def render_fieldset(form, fieldset): form[name] for name in item.fields if name in form.fields ] rows.append( - ('inline', item.label, fields, any(f.errors for f in fields)) + ('inline', item.label, fields) ) # Tabbed groups of fields @@ -77,21 +74,18 @@ def render_fieldset(form, fieldset): 'fields': [form[name] for name in tab['fields'] if name in form.fields] } for tab in item.tabs ] - has_field_errors = any( - field.errors for tab in tabs for field in tab['fields'] - ) # If none of the tabs has been marked as active, activate the first one if not any(tab['active'] for tab in tabs): tabs[0]['active'] = True rows.append( - ('tabs', None, tabs, has_field_errors) + ('tabs', None, tabs) ) elif type(item) is ObjectAttribute: value = getattr(form.instance, item.name) label = value._meta.verbose_name if hasattr(value, '_meta') else item.name rows.append( - ('attribute', label.title(), [value], False) + ('attribute', label.title(), [value]) ) # A single form field @@ -101,7 +95,7 @@ def render_fieldset(form, fieldset): if field.name in getattr(form, 'nullable_fields', []): field._nullable = True rows.append( - ('field', None, [field], bool(field.errors)) + ('field', None, [field]) ) return {