From e20ac803f306871d1397a40ed8d54b03b6748045 Mon Sep 17 00:00:00 2001 From: jeremystretch Date: Wed, 2 Feb 2022 16:08:12 -0500 Subject: [PATCH] Fixes #8498: Fix display of selected content type filters in object list views --- docs/release-notes/version-3.1.md | 1 + netbox/utilities/forms/utils.py | 11 ++++++----- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/docs/release-notes/version-3.1.md b/docs/release-notes/version-3.1.md index c7aac208c..7cce525ed 100644 --- a/docs/release-notes/version-3.1.md +++ b/docs/release-notes/version-3.1.md @@ -19,6 +19,7 @@ * [#8425](https://github.com/netbox-community/netbox/issues/8425) - Fix exception when viewing change list/records with removed plugins * [#8456](https://github.com/netbox-community/netbox/issues/8456) - Fix redundant display of VRF RD in prefix view * [#8465](https://github.com/netbox-community/netbox/issues/8465) - Accept empty string values for Interface `rf_channel` in REST API +* [#8498](https://github.com/netbox-community/netbox/issues/8498) - Fix display of selected content type filters in object list views * [#8499](https://github.com/netbox-community/netbox/issues/8499) - Content types REST API endpoint should not require model permission * [#8512](https://github.com/netbox-community/netbox/issues/8512) - Correct file permissions to allow execution of housekeeping script diff --git a/netbox/utilities/forms/utils.py b/netbox/utilities/forms/utils.py index 343fdb8a3..6d45d524d 100644 --- a/netbox/utilities/forms/utils.py +++ b/netbox/utilities/forms/utils.py @@ -127,12 +127,13 @@ def get_selected_values(form, field_name): if not hasattr(field, 'choices'): return [str(filter_data)] - # Get choice labels + # Model choice field if type(field.choices) is forms.models.ModelChoiceIterator: - # Field uses dynamic choices: show all that have been populated on the widget - values = [ - subwidget.choice_label for subwidget in form[field_name].subwidgets - ] + # If this is a single-choice field, wrap its value in a list + if not hasattr(filter_data, '__iter__'): + values = [filter_data] + else: + values = filter_data else: # Static selection field