1
0
mirror of https://github.com/netbox-community/netbox.git synced 2024-05-10 07:54:54 +00:00

Add status field to WirelessLink

This commit is contained in:
jeremystretch
2021-10-13 14:31:30 -04:00
parent ec0560a2c5
commit 95ed07a95e
21 changed files with 80 additions and 37 deletions

View File

@@ -1,10 +1,11 @@
from django import forms
from dcim.models import *
from dcim.choices import LinkStatusChoices
from extras.forms import AddRemoveTagsForm, CustomFieldModelBulkEditForm
from ipam.models import VLAN
from utilities.forms import BootstrapMixin, DynamicModelChoiceField
from wireless.constants import SSID_MAX_LENGTH
from wireless.models import *
__all__ = (
'WirelessLANBulkEditForm',
@@ -14,7 +15,7 @@ __all__ = (
class WirelessLANBulkEditForm(BootstrapMixin, AddRemoveTagsForm, CustomFieldModelBulkEditForm):
pk = forms.ModelMultipleChoiceField(
queryset=PowerFeed.objects.all(),
queryset=WirelessLAN.objects.all(),
widget=forms.MultipleHiddenInput
)
vlan = DynamicModelChoiceField(
@@ -35,13 +36,17 @@ class WirelessLANBulkEditForm(BootstrapMixin, AddRemoveTagsForm, CustomFieldMode
class WirelessLinkBulkEditForm(BootstrapMixin, AddRemoveTagsForm, CustomFieldModelBulkEditForm):
pk = forms.ModelMultipleChoiceField(
queryset=PowerFeed.objects.all(),
queryset=WirelessLink.objects.all(),
widget=forms.MultipleHiddenInput
)
ssid = forms.CharField(
max_length=SSID_MAX_LENGTH,
required=False
)
status = forms.ChoiceField(
choices=LinkStatusChoices,
required=False
)
description = forms.CharField(
required=False
)

View File

@@ -1,7 +1,8 @@
from dcim.choices import LinkStatusChoices
from dcim.models import Interface
from extras.forms import CustomFieldModelCSVForm
from ipam.models import VLAN
from utilities.forms import CSVModelChoiceField
from utilities.forms import CSVChoiceField, CSVModelChoiceField
from wireless.models import *
__all__ = (
@@ -23,6 +24,10 @@ class WirelessLANCSVForm(CustomFieldModelCSVForm):
class WirelessLinkCSVForm(CustomFieldModelCSVForm):
status = CSVChoiceField(
choices=LinkStatusChoices,
help_text='Connection status'
)
interface_a = CSVModelChoiceField(
queryset=Interface.objects.all()
)

View File

@@ -1,8 +1,9 @@
from django import forms
from django.utils.translation import gettext as _
from dcim.choices import LinkStatusChoices
from extras.forms import CustomFieldModelFilterForm
from utilities.forms import BootstrapMixin, TagFilterField
from utilities.forms import add_blank_choice, BootstrapMixin, StaticSelect, TagFilterField
from wireless.models import *
__all__ = (
@@ -42,4 +43,9 @@ class WirelessLinkFilterForm(BootstrapMixin, CustomFieldModelFilterForm):
required=False,
label='SSID'
)
status = forms.ChoiceField(
required=False,
choices=add_blank_choice(LinkStatusChoices),
widget=StaticSelect()
)
tag = TagFilterField(model)

View File

@@ -2,7 +2,7 @@ from dcim.models import Interface
from extras.forms import CustomFieldModelForm
from extras.models import Tag
from ipam.models import VLAN
from utilities.forms import BootstrapMixin, DynamicModelChoiceField, DynamicModelMultipleChoiceField
from utilities.forms import BootstrapMixin, DynamicModelChoiceField, DynamicModelMultipleChoiceField, StaticSelect
from wireless.models import *
__all__ = (
@@ -55,5 +55,8 @@ class WirelessLinkForm(BootstrapMixin, CustomFieldModelForm):
class Meta:
model = WirelessLink
fields = [
'interface_a', 'interface_b', 'ssid', 'description', 'tags',
'interface_a', 'interface_b', 'status', 'ssid', 'description', 'tags',
]
widgets = {
'status': StaticSelect,
}