From 0be548810417b333cc6dc3f24a0c27565eeb0b85 Mon Sep 17 00:00:00 2001 From: kobayashi Date: Mon, 2 Mar 2020 11:26:56 -0500 Subject: [PATCH] Fix #4274: Set correct value schema for int typed ChoiceField --- docs/release-notes/version-2.7.md | 1 + netbox/utilities/custom_inspectors.py | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/docs/release-notes/version-2.7.md b/docs/release-notes/version-2.7.md index e32b9d355..9743b15d9 100644 --- a/docs/release-notes/version-2.7.md +++ b/docs/release-notes/version-2.7.md @@ -10,6 +10,7 @@ ## Bug Fixes * [#4277](https://github.com/netbox-community/netbox/issues/4277) - Fix filtering of clusters by tenant +* [#4274](https://github.com/netbox-community/netbox/issues/4274) - Fix incorrect schema definition of `int` type choicefields * [#4282](https://github.com/netbox-community/netbox/issues/4282) - Fix label on export button for device types * [#4285](https://github.com/netbox-community/netbox/issues/4285) - Include A/Z termination sites in provider circuits table * [#4295](https://github.com/netbox-community/netbox/issues/4295) - Fix assignment of parent LAG during interface bulk edit diff --git a/netbox/utilities/custom_inspectors.py b/netbox/utilities/custom_inspectors.py index 471232ce3..3eaf1ccf1 100644 --- a/netbox/utilities/custom_inspectors.py +++ b/netbox/utilities/custom_inspectors.py @@ -89,6 +89,10 @@ class CustomChoiceFieldInspector(FieldInspector): value_schema = openapi.Schema(type=schema_type) value_schema['x-nullable'] = True + if isinstance(choices[0], int): + # Change value_schema for IPAddressFamilyChoices, RackWidthChoices + value_schema = openapi.Schema(type=openapi.TYPE_INTEGER) + schema = SwaggerType(type=openapi.TYPE_OBJECT, required=["label", "value"], properties={ "label": openapi.Schema(type=openapi.TYPE_STRING), "value": value_schema