Merge pull request #23 from ryanmerolle/feature_19

tags added to the list view of all models
This commit is contained in:
Ryan Merolle 2022-07-08 00:13:09 -04:00 committed by GitHub
commit 0f4146a8e2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 24 additions and 11 deletions

View File

@ -2,7 +2,7 @@ from django import forms
from ipam.models import Prefix
from netbox.forms import NetBoxModelForm, NetBoxModelFilterSetForm
from utilities.forms.fields import CommentField, DynamicModelChoiceField
from utilities.forms import CommentField, DynamicModelChoiceField, DynamicModelMultipleChoiceField, StaticSelectMultiple, TagFilterField
from .models import AccessList, AccessListRule, ActionChoices, ProtocolChoices, TypeChoices
@ -18,12 +18,15 @@ class AccessListFilterForm(NetBoxModelFilterSetForm):
model = AccessList
type = forms.MultipleChoiceField(
choices=TypeChoices,
required=False
required=False,
widget=StaticSelectMultiple()
)
default_action = forms.MultipleChoiceField(
choices=ActionChoices,
required=False
required=False,
widget=StaticSelectMultiple()
)
tag = TagFilterField(model)
class AccessListRuleForm(NetBoxModelForm):
@ -49,16 +52,20 @@ class AccessListRuleFilterForm(NetBoxModelFilterSetForm):
model = AccessListRule
access_list = forms.ModelMultipleChoiceField(
queryset=AccessList.objects.all(),
required=False
required=False,
widget=StaticSelectMultiple()
)
index = forms.IntegerField(
required=False
)
protocol = forms.MultipleChoiceField(
choices=ProtocolChoices,
required=False
required=False,
widget=StaticSelectMultiple()
)
action = forms.MultipleChoiceField(
choices=ActionChoices,
required=False
required=False,
widget=StaticSelectMultiple()
)
tag = TagFilterField(model)

View File

@ -1,6 +1,6 @@
import django_tables2 as tables
from netbox.tables import NetBoxTable, ChoiceFieldColumn
from netbox.tables import NetBoxTable, columns, ChoiceFieldColumn
from .models import AccessList, AccessListRule
@ -11,11 +11,14 @@ class AccessListTable(NetBoxTable):
type = ChoiceFieldColumn()
default_action = ChoiceFieldColumn()
rule_count = tables.Column()
tags = columns.TagColumn(
url_name='plugins:netbox_access_lists:accesslist_list'
)
class Meta(NetBoxTable.Meta):
model = AccessList
fields = ('pk', 'id', 'name', 'type', 'rule_count', 'default_action', 'comments', 'actions')
default_columns = ('name', 'type', 'rule_count', 'default_action')
fields = ('pk', 'id', 'name', 'type', 'rule_count', 'default_action', 'comments', 'actions', 'tags')
default_columns = ('name', 'type', 'rule_count', 'default_action', 'tags')
class AccessListRuleTable(NetBoxTable):
@ -27,14 +30,17 @@ class AccessListRuleTable(NetBoxTable):
)
protocol = ChoiceFieldColumn()
action = ChoiceFieldColumn()
tags = columns.TagColumn(
url_name='plugins:netbox_access_lists:accesslistrule_list'
)
class Meta(NetBoxTable.Meta):
model = AccessListRule
fields = (
'pk', 'id', 'access_list', 'index', 'source_prefix', 'source_ports', 'destination_prefix',
'destination_ports', 'protocol', 'action', 'description', 'actions',
'destination_ports', 'protocol', 'action', 'description', 'actions', 'tags'
)
default_columns = (
'access_list', 'index', 'source_prefix', 'source_ports', 'destination_prefix',
'destination_ports', 'protocol', 'action', 'actions',
'destination_ports', 'protocol', 'action', 'actions', 'tags'
)