mirror of
https://github.com/netbox-community/netbox.git
synced 2024-05-10 07:54:54 +00:00
Add WirelessLink model
This commit is contained in:
@@ -4,9 +4,11 @@ from dcim.models import *
|
||||
from extras.forms import AddRemoveTagsForm, CustomFieldModelBulkEditForm
|
||||
from ipam.models import VLAN
|
||||
from utilities.forms import BootstrapMixin, DynamicModelChoiceField
|
||||
from wireless.constants import SSID_MAX_LENGTH
|
||||
|
||||
__all__ = (
|
||||
'WirelessLANBulkEditForm',
|
||||
'WirelessLinkBulkEditForm',
|
||||
)
|
||||
|
||||
|
||||
@@ -19,11 +21,30 @@ class WirelessLANBulkEditForm(BootstrapMixin, AddRemoveTagsForm, CustomFieldMode
|
||||
queryset=VLAN.objects.all(),
|
||||
required=False,
|
||||
)
|
||||
ssid = forms.CharField(
|
||||
max_length=SSID_MAX_LENGTH,
|
||||
required=False
|
||||
)
|
||||
description = forms.CharField(
|
||||
required=False
|
||||
)
|
||||
|
||||
class Meta:
|
||||
nullable_fields = [
|
||||
'vlan', 'description',
|
||||
]
|
||||
nullable_fields = ['vlan', 'ssid', 'description']
|
||||
|
||||
|
||||
class WirelessLinkBulkEditForm(BootstrapMixin, AddRemoveTagsForm, CustomFieldModelBulkEditForm):
|
||||
pk = forms.ModelMultipleChoiceField(
|
||||
queryset=PowerFeed.objects.all(),
|
||||
widget=forms.MultipleHiddenInput
|
||||
)
|
||||
ssid = forms.CharField(
|
||||
max_length=SSID_MAX_LENGTH,
|
||||
required=False
|
||||
)
|
||||
description = forms.CharField(
|
||||
required=False
|
||||
)
|
||||
|
||||
class Meta:
|
||||
nullable_fields = ['ssid', 'description']
|
||||
|
@@ -1,10 +1,12 @@
|
||||
from dcim.models import Interface
|
||||
from extras.forms import CustomFieldModelCSVForm
|
||||
from ipam.models import VLAN
|
||||
from utilities.forms import CSVModelChoiceField
|
||||
from wireless.models import WirelessLAN
|
||||
from wireless.models import *
|
||||
|
||||
__all__ = (
|
||||
'WirelessLANCSVForm',
|
||||
'WirelessLinkCSVForm',
|
||||
)
|
||||
|
||||
|
||||
@@ -18,3 +20,16 @@ class WirelessLANCSVForm(CustomFieldModelCSVForm):
|
||||
class Meta:
|
||||
model = WirelessLAN
|
||||
fields = ('ssid', 'description', 'vlan')
|
||||
|
||||
|
||||
class WirelessLinkCSVForm(CustomFieldModelCSVForm):
|
||||
interface_a = CSVModelChoiceField(
|
||||
queryset=Interface.objects.all()
|
||||
)
|
||||
interface_b = CSVModelChoiceField(
|
||||
queryset=Interface.objects.all()
|
||||
)
|
||||
|
||||
class Meta:
|
||||
model = WirelessLink
|
||||
fields = ('interface_a', 'interface_b', 'ssid', 'description')
|
||||
|
@@ -3,7 +3,12 @@ from django.utils.translation import gettext as _
|
||||
|
||||
from extras.forms import CustomFieldModelFilterForm
|
||||
from utilities.forms import BootstrapMixin, TagFilterField
|
||||
from .models import WirelessLAN
|
||||
from wireless.models import *
|
||||
|
||||
__all__ = (
|
||||
'WirelessLANFilterForm',
|
||||
'WirelessLinkFilterForm',
|
||||
)
|
||||
|
||||
|
||||
class WirelessLANFilterForm(BootstrapMixin, CustomFieldModelFilterForm):
|
||||
@@ -16,4 +21,25 @@ class WirelessLANFilterForm(BootstrapMixin, CustomFieldModelFilterForm):
|
||||
widget=forms.TextInput(attrs={'placeholder': _('All Fields')}),
|
||||
label=_('Search')
|
||||
)
|
||||
ssid = forms.CharField(
|
||||
required=False,
|
||||
label='SSID'
|
||||
)
|
||||
tag = TagFilterField(model)
|
||||
|
||||
|
||||
class WirelessLinkFilterForm(BootstrapMixin, CustomFieldModelFilterForm):
|
||||
model = WirelessLink
|
||||
field_groups = [
|
||||
['q', 'tag'],
|
||||
]
|
||||
q = forms.CharField(
|
||||
required=False,
|
||||
widget=forms.TextInput(attrs={'placeholder': _('All Fields')}),
|
||||
label=_('Search')
|
||||
)
|
||||
ssid = forms.CharField(
|
||||
required=False,
|
||||
label='SSID'
|
||||
)
|
||||
tag = TagFilterField(model)
|
||||
|
@@ -1,11 +1,13 @@
|
||||
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 wireless.models import WirelessLAN
|
||||
from wireless.models import *
|
||||
|
||||
__all__ = (
|
||||
'WirelessLANForm',
|
||||
'WirelessLinkForm',
|
||||
)
|
||||
|
||||
|
||||
@@ -28,3 +30,28 @@ class WirelessLANForm(BootstrapMixin, CustomFieldModelForm):
|
||||
('Wireless LAN', ('ssid', 'description', 'tags')),
|
||||
('VLAN', ('vlan',)),
|
||||
)
|
||||
|
||||
|
||||
class WirelessLinkForm(BootstrapMixin, CustomFieldModelForm):
|
||||
interface_a = DynamicModelChoiceField(
|
||||
queryset=Interface.objects.all(),
|
||||
query_params={
|
||||
'kind': 'wireless'
|
||||
}
|
||||
)
|
||||
interface_b = DynamicModelChoiceField(
|
||||
queryset=Interface.objects.all(),
|
||||
query_params={
|
||||
'kind': 'wireless'
|
||||
}
|
||||
)
|
||||
tags = DynamicModelMultipleChoiceField(
|
||||
queryset=Tag.objects.all(),
|
||||
required=False
|
||||
)
|
||||
|
||||
class Meta:
|
||||
model = WirelessLink
|
||||
fields = [
|
||||
'interface_a', 'interface_b', 'ssid', 'description', 'tags',
|
||||
]
|
||||
|
Reference in New Issue
Block a user