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

Introduce the wireless app and SSID model

This commit is contained in:
jeremystretch
2021-10-12 12:27:12 -04:00
parent 8e1535f7ec
commit 8b80b0c3df
28 changed files with 470 additions and 0 deletions

View File

@@ -0,0 +1,4 @@
from .models import *
from .filtersets import *
from .bulk_edit import *
from .bulk_import import *

View File

@@ -0,0 +1,29 @@
from django import forms
from dcim.models import *
from extras.forms import AddRemoveTagsForm, CustomFieldModelBulkEditForm
from ipam.models import VLAN
from utilities.forms import BootstrapMixin, DynamicModelChoiceField
__all__ = (
'SSIDBulkEditForm',
)
class SSIDBulkEditForm(BootstrapMixin, AddRemoveTagsForm, CustomFieldModelBulkEditForm):
pk = forms.ModelMultipleChoiceField(
queryset=PowerFeed.objects.all(),
widget=forms.MultipleHiddenInput
)
vlan = DynamicModelChoiceField(
queryset=VLAN.objects.all(),
required=False,
)
description = forms.CharField(
required=False
)
class Meta:
nullable_fields = [
'vlan', 'description',
]

View File

@@ -0,0 +1,20 @@
from extras.forms import CustomFieldModelCSVForm
from ipam.models import VLAN
from utilities.forms import CSVModelChoiceField
from wireless.models import SSID
__all__ = (
'SSIDCSVForm',
)
class SSIDCSVForm(CustomFieldModelCSVForm):
vlan = CSVModelChoiceField(
queryset=VLAN.objects.all(),
to_field_name='name',
help_text='Bridged VLAN'
)
class Meta:
model = SSID
fields = ('name', 'description', 'vlan')

View File

@@ -0,0 +1,19 @@
from django import forms
from django.utils.translation import gettext as _
from dcim.models import *
from extras.forms import CustomFieldModelFilterForm
from utilities.forms import BootstrapMixin, TagFilterField
class SSIDFilterForm(BootstrapMixin, CustomFieldModelFilterForm):
model = PowerFeed
field_groups = [
['q', 'tag'],
]
q = forms.CharField(
required=False,
widget=forms.TextInput(attrs={'placeholder': _('All Fields')}),
label=_('Search')
)
tag = TagFilterField(model)

View File

@@ -0,0 +1,32 @@
from dcim.constants import *
from dcim.models import *
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 SSID
__all__ = (
'SSIDForm',
)
class SSIDForm(BootstrapMixin, CustomFieldModelForm):
vlan = DynamicModelChoiceField(
queryset=VLAN.objects.all(),
required=False
)
tags = DynamicModelMultipleChoiceField(
queryset=Tag.objects.all(),
required=False
)
class Meta:
model = SSID
fields = [
'name', 'description', 'vlan', 'tags',
]
fieldsets = (
('SSID', ('name', 'description', 'tags')),
('VLAN', ('vlan',)),
)