diff --git a/netbox/dcim/forms/mixins.py b/netbox/dcim/forms/mixins.py index f21453ac9..98862af10 100644 --- a/netbox/dcim/forms/mixins.py +++ b/netbox/dcim/forms/mixins.py @@ -96,6 +96,7 @@ class ScopedBulkEditForm(forms.Form): except ObjectDoesNotExist: pass + class ScopedImportForm(forms.Form): scope_type = CSVContentTypeField( queryset=ContentType.objects.filter(model__in=LOCATION_SCOPE_TYPES), diff --git a/netbox/wireless/api/serializers_/wirelesslans.py b/netbox/wireless/api/serializers_/wirelesslans.py index 2acc7fec7..637089277 100644 --- a/netbox/wireless/api/serializers_/wirelesslans.py +++ b/netbox/wireless/api/serializers_/wirelesslans.py @@ -1,8 +1,10 @@ from rest_framework import serializers +from dcim.constants import LOCATION_SCOPE_TYPES +from django.contrib.contenttypes.models import ContentType from drf_spectacular.utils import extend_schema_field from ipam.api.serializers_.vlans import VLANSerializer -from netbox.api.fields import ChoiceField +from netbox.api.fields import ChoiceField, ContentTypeField from netbox.api.serializers import NestedGroupModelSerializer, NetBoxModelSerializer from tenancy.api.serializers_.tenants import TenantSerializer from utilities.api import get_serializer_for_model @@ -36,6 +38,14 @@ class WirelessLANSerializer(NetBoxModelSerializer): tenant = TenantSerializer(nested=True, required=False, allow_null=True) auth_type = ChoiceField(choices=WirelessAuthTypeChoices, required=False, allow_blank=True) auth_cipher = ChoiceField(choices=WirelessAuthCipherChoices, required=False, allow_blank=True) + scope_type = ContentTypeField( + queryset=ContentType.objects.filter( + model__in=LOCATION_SCOPE_TYPES + ), + allow_null=True, + required=False, + default=None + ) scope_id = serializers.IntegerField(allow_null=True, required=False, default=None) scope = serializers.SerializerMethodField(read_only=True) diff --git a/netbox/wireless/forms/bulk_import.py b/netbox/wireless/forms/bulk_import.py index 2e8f81760..5bf2d7dcd 100644 --- a/netbox/wireless/forms/bulk_import.py +++ b/netbox/wireless/forms/bulk_import.py @@ -80,7 +80,7 @@ class WirelessLANImportForm(ScopedImportForm, NetBoxModelImportForm): 'description', 'comments', 'tags', ) labels = { - 'scope_id': 'Scope ID', + 'scope_id': _('Scope ID'), } diff --git a/netbox/wireless/forms/model_forms.py b/netbox/wireless/forms/model_forms.py index accbffa77..877324b8c 100644 --- a/netbox/wireless/forms/model_forms.py +++ b/netbox/wireless/forms/model_forms.py @@ -71,7 +71,6 @@ class WirelessLANForm(ScopedForm, TenancyForm, NetBoxModelForm): } - class WirelessLinkForm(TenancyForm, NetBoxModelForm): site_a = DynamicModelChoiceField( queryset=Site.objects.all(),