correct api issues

This commit is contained in:
ryanmerolle 2022-07-16 14:41:56 +00:00
parent 6dee870249
commit f461413619
6 changed files with 85 additions and 81 deletions

View File

@ -69,8 +69,8 @@ class AccessListStandardRuleSerializer(NetBoxModelSerializer):
class Meta:
model = AccessListStandardRule
fields = (
'id', 'url', 'display', 'access_list', 'index', 'source_prefix', 'action',
'tags', 'custom_fields', 'created', 'last_updated'
'id', 'url', 'display', 'access_list', 'index', 'action', 'tags',
'created', 'custom_fields', 'last_updated', 'source_prefix'
)
@ -85,7 +85,7 @@ class AccessListExtendedRuleSerializer(NetBoxModelSerializer):
class Meta:
model = AccessListExtendedRule
fields = (
'id', 'url', 'display', 'access_list', 'index', 'protocol', 'source_prefix', 'source_ports',
'destination_prefix', 'destination_ports', 'action', 'tags', 'custom_fields', 'created',
'last_updated'
'id', 'url', 'display', 'access_list', 'index', 'action', 'tags',
'created', 'custom_fields', 'last_updated', 'source_prefix', 'source_ports',
'destination_prefix', 'destination_ports', 'protocol'
)

View File

@ -6,6 +6,7 @@ app_name = 'netbox_access_list'
router = NetBoxRouter()
router.register('access-lists', views.AccessListViewSet)
router.register('access-list-rules', views.AccessListExtendedRuleViewSet)
router.register('standard-acl-rules', views.AccessListStandardRuleViewSet)
router.register('extended-acl-rules', views.AccessListExtendedRuleViewSet)
urlpatterns = router.urls

View File

@ -18,7 +18,7 @@ class AccessListViewSet(NetBoxModelViewSet):
class AccessListStandardRuleViewSet(NetBoxModelViewSet):
queryset = models.AccessListStandardRule.objects.prefetch_related(
'access_list', 'source_prefix', 'tags'
'access_list', 'tags', 'source_prefix'
)
serializer_class = AccessListStandardRuleSerializer
filterset_class = filtersets.AccessListStandardRuleFilterSet
@ -26,7 +26,7 @@ class AccessListStandardRuleViewSet(NetBoxModelViewSet):
class AccessListExtendedRuleViewSet(NetBoxModelViewSet):
queryset = models.AccessListExtendedRule.objects.prefetch_related(
'access_list', 'source_prefix', 'destination_prefix', 'tags'
'access_list', 'tags', 'source_prefix', 'destination_prefix',
)
serializer_class = AccessListExtendedRuleSerializer
filterset_class = filtersets.AccessListExtendedRuleFilterSet

View File

@ -11,16 +11,6 @@ class AccessListFilterSet(NetBoxModelFilterSet):
return queryset.filter(description__icontains=value)
class AccessListExtendedRuleFilterSet(NetBoxModelFilterSet):
class Meta:
model = AccessListExtendedRule
fields = ('id', 'access_list', 'index', 'protocol', 'action', 'remark')
def search(self, queryset, name, value):
return queryset.filter(description__icontains=value)
class AccessListStandardRuleFilterSet(NetBoxModelFilterSet):
class Meta:
@ -29,3 +19,13 @@ class AccessListStandardRuleFilterSet(NetBoxModelFilterSet):
def search(self, queryset, name, value):
return queryset.filter(description__icontains=value)
class AccessListExtendedRuleFilterSet(NetBoxModelFilterSet):
class Meta:
model = AccessListExtendedRule
fields = ('id', 'access_list', 'index', 'action', 'remark', 'protocol')
def search(self, queryset, name, value):
return queryset.filter(description__icontains=value)

View File

@ -34,57 +34,6 @@ class AccessListFilterForm(NetBoxModelFilterSetForm):
tag = TagFilterField(model)
class AccessListExtendedRuleForm(NetBoxModelForm):
access_list = DynamicModelChoiceField(
queryset=AccessList.objects.all(),
query_params={
'type': 'extended'
}
)
source_prefix = DynamicModelChoiceField(
queryset=Prefix.objects.all(),
required=False
)
destination_prefix = DynamicModelChoiceField(
queryset=Prefix.objects.all(),
required=False
)
tags = DynamicModelMultipleChoiceField(
queryset=Tag.objects.all(),
required=False
)
class Meta:
model = AccessListExtendedRule
fields = (
'access_list', 'index', 'remark', 'source_prefix', 'source_ports', 'destination_prefix',
'destination_ports', 'protocol', 'action', 'tags'
)
class AccessListExtendedRuleFilterForm(NetBoxModelFilterSetForm):
model = AccessListExtendedRule
access_list = forms.ModelMultipleChoiceField(
queryset=AccessList.objects.all(),
required=False,
widget=StaticSelectMultiple()
)
index = forms.IntegerField(
required=False
)
protocol = forms.MultipleChoiceField(
choices=AccessListProtocolChoices,
required=False,
widget=StaticSelectMultiple()
)
action = forms.MultipleChoiceField(
choices=AccessListActionChoices,
required=False,
widget=StaticSelectMultiple()
)
tag = TagFilterField(model)
class AccessListStandardRuleForm(NetBoxModelForm):
access_list = DynamicModelChoiceField(
queryset=AccessList.objects.all(),
@ -92,19 +41,20 @@ class AccessListStandardRuleForm(NetBoxModelForm):
'type': 'standard'
}
)
source_prefix = DynamicModelChoiceField(
queryset=Prefix.objects.all(),
required=False
)
tags = DynamicModelMultipleChoiceField(
queryset=Tag.objects.all(),
required=False
)
source_prefix = DynamicModelChoiceField(
queryset=Prefix.objects.all(),
required=False
)
class Meta:
model = AccessListStandardRule
fields = (
'access_list', 'index', 'remark', 'source_prefix', 'action', 'tags'
'access_list', 'index', 'remark', 'action', 'tags', 'source_prefix',
)
@ -118,9 +68,61 @@ class AccessListStandardRuleFilterForm(NetBoxModelFilterSetForm):
index = forms.IntegerField(
required=False
)
tag = TagFilterField(model)
action = forms.MultipleChoiceField(
choices=AccessListActionChoices,
required=False,
widget=StaticSelectMultiple()
)
class AccessListExtendedRuleForm(NetBoxModelForm):
access_list = DynamicModelChoiceField(
queryset=AccessList.objects.all(),
query_params={
'type': 'extended'
}
)
tags = DynamicModelMultipleChoiceField(
queryset=Tag.objects.all(),
required=False
)
source_prefix = DynamicModelChoiceField(
queryset=Prefix.objects.all(),
required=False
)
destination_prefix = DynamicModelChoiceField(
queryset=Prefix.objects.all(),
required=False
)
class Meta:
model = AccessListExtendedRule
fields = (
'access_list', 'index', 'remark', 'action', 'tags', 'source_prefix',
'source_ports', 'destination_prefix', 'destination_ports', 'protocol'
)
class AccessListExtendedRuleFilterForm(NetBoxModelFilterSetForm):
model = AccessListExtendedRule
access_list = forms.ModelMultipleChoiceField(
queryset=AccessList.objects.all(),
required=False,
widget=StaticSelectMultiple()
)
index = forms.IntegerField(
required=False
)
tag = TagFilterField(model)
action = forms.MultipleChoiceField(
choices=AccessListActionChoices,
required=False,
widget=StaticSelectMultiple()
)
protocol = forms.MultipleChoiceField(
choices=AccessListProtocolChoices,
required=False,
widget=StaticSelectMultiple()
)

View File

@ -40,12 +40,13 @@ class AccessListStandardRuleTable(NetBoxTable):
class Meta(NetBoxTable.Meta):
model = AccessListStandardRule
fields = (
'pk', 'id', 'access_list', 'index', 'source_prefix', 'action', 'remark', 'tags'
'pk', 'id', 'access_list', 'index', 'action', 'actions', 'remark', 'tags'
)
default_columns = (
'access_list', 'index', 'source_prefix', 'action', 'remark', 'tags'
'access_list', 'index', 'action', 'actions', 'remark', 'tags'
)
class AccessListExtendedRuleTable(NetBoxTable):
access_list = tables.Column(
linkify=True
@ -53,19 +54,19 @@ class AccessListExtendedRuleTable(NetBoxTable):
index = tables.Column(
linkify=True
)
protocol = ChoiceFieldColumn()
action = ChoiceFieldColumn()
tags = columns.TagColumn(
url_name='plugins:netbox_access_lists:accesslistextendedrule_list'
)
protocol = ChoiceFieldColumn()
class Meta(NetBoxTable.Meta):
model = AccessListExtendedRule
fields = (
'pk', 'id', 'access_list', 'index', 'source_prefix', 'source_ports', 'destination_prefix',
'destination_ports', 'protocol', 'action', 'remark', 'actions', 'tags'
'pk', 'id', 'access_list', 'index', 'action', 'actions', 'remark', 'tags',
'source_prefix', 'source_ports', 'destination_prefix', 'destination_ports', 'protocol'
)
default_columns = (
'access_list', 'index', 'remark', 'source_prefix', 'source_ports', 'destination_prefix',
'destination_ports', 'protocol', 'action', 'actions', 'tags'
'access_list', 'index', 'action', 'actions', 'remark', 'tags',
'source_prefix', 'source_ports', 'destination_prefix', 'destination_ports', 'protocol'
)