working filter added to ACL

This commit is contained in:
ryanmerolle 2022-07-08 01:56:04 +00:00
parent 2b51fec511
commit 99110b2226
5 changed files with 27 additions and 2 deletions

View File

@ -11,6 +11,7 @@ class AccessListViewSet(NetBoxModelViewSet):
rule_count=Count('rules')
)
serializer_class = AccessListSerializer
filterset_class = filtersets.AccessListFilterSet
class AccessListRuleViewSet(NetBoxModelViewSet):

View File

@ -1,5 +1,14 @@
from netbox.filtersets import NetBoxModelFilterSet
from .models import AccessListRule
from .models import AccessList, AccessListRule
class AccessListFilterSet(NetBoxModelFilterSet):
class Meta:
model = AccessList
fields = ('id', 'name', 'type', 'default_action', 'comments')
def search(self, queryset, name, value):
return queryset.filter(description__icontains=value)
class AccessListRuleFilterSet(NetBoxModelFilterSet):

View File

@ -3,7 +3,7 @@ from django import forms
from ipam.models import Prefix
from netbox.forms import NetBoxModelForm, NetBoxModelFilterSetForm
from utilities.forms.fields import CommentField, DynamicModelChoiceField
from .models import AccessList, AccessListRule, ActionChoices, ProtocolChoices
from .models import AccessList, AccessListRule, ActionChoices, ProtocolChoices, TypeChoices
class AccessListForm(NetBoxModelForm):
@ -14,6 +14,18 @@ class AccessListForm(NetBoxModelForm):
fields = ('name', 'type', 'default_action', 'comments', 'tags')
class AccessListFilterForm(NetBoxModelFilterSetForm):
model = AccessList
type = forms.MultipleChoiceField(
choices=TypeChoices,
required=False
)
default_action = forms.MultipleChoiceField(
choices=ActionChoices,
required=False
)
class AccessListRuleForm(NetBoxModelForm):
access_list = DynamicModelChoiceField(
queryset=AccessList.objects.all()

View File

@ -13,6 +13,7 @@ class AccessListType(NetBoxObjectType):
class Meta:
model = models.AccessList
fields = '__all__'
filterset_class = filtersets.AccessListFilterSet
class AccessListRuleType(NetBoxObjectType):

View File

@ -25,6 +25,8 @@ class AccessListListView(generic.ObjectListView):
rule_count=Count('rules')
)
table = tables.AccessListTable
filterset = filtersets.AccessListFilterSet
filterset_form = forms.AccessListFilterForm
class AccessListEditView(generic.ObjectEditView):