diff --git a/netbox/utilities/templatetags/form_helpers.py b/netbox/utilities/templatetags/form_helpers.py index 47bbaafe8..c55a6b98b 100644 --- a/netbox/utilities/templatetags/form_helpers.py +++ b/netbox/utilities/templatetags/form_helpers.py @@ -54,17 +54,24 @@ def render_fieldset(form, fieldset, heading=None): """ rows = [] for item in fieldset: + + # Multiple fields side-by-side if type(item) is InlineFields: + fields = [ + form[name] for name in item.field_names if name in form.fields + ] rows.append( - ('inline', item.label, [form[name] for name in item.field_names]) + ('inline', item.label, fields) ) + + # Tabbed groups of fields elif type(item) is TabbedFieldGroups: tabs = [ { 'id': tab['id'], 'title': tab['title'], 'active': bool(form.initial.get(tab['fields'][0], False)), - 'fields': [form[name] for name in tab['fields']] + 'fields': [form[name] for name in tab['fields'] if name in form.fields] } for tab in item.tabs ] # If none of the tabs has been marked as active, activate the first one @@ -73,7 +80,9 @@ def render_fieldset(form, fieldset, heading=None): rows.append( ('tabs', None, tabs) ) - else: + + # A single form field + elif item in form.fields: rows.append( ('field', None, [form[item]]) )