2022-06-30 22:22:32 -04:00

53 lines
1.5 KiB
Python

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
class AccessListForm(NetBoxModelForm):
comments = CommentField()
class Meta:
model = AccessList
fields = ('name', 'type', 'default_action', 'comments', 'tags')
class AccessListRuleForm(NetBoxModelForm):
access_list = DynamicModelChoiceField(
queryset=AccessList.objects.all()
)
source_prefix = DynamicModelChoiceField(
queryset=Prefix.objects.all()
)
destination_prefix = DynamicModelChoiceField(
queryset=Prefix.objects.all()
)
class Meta:
model = AccessListRule
fields = (
'access_list', 'index', 'description', 'source_prefix', 'source_ports', 'destination_prefix',
'destination_ports', 'protocol', 'action', 'tags',
)
class AccessListRuleFilterForm(NetBoxModelFilterSetForm):
model = AccessListRule
access_list = forms.ModelMultipleChoiceField(
queryset=AccessList.objects.all(),
required=False
)
index = forms.IntegerField(
required=False
)
protocol = forms.MultipleChoiceField(
choices=ProtocolChoices,
required=False
)
action = forms.MultipleChoiceField(
choices=ActionChoices,
required=False
)