Skip to content

Commit 3656c26

Browse files
committed
feat(filter): ACLExtendedRule: Adding new Destinations to the filter
1 parent f30acbf commit 3656c26

File tree

2 files changed

+33
-0
lines changed

2 files changed

+33
-0
lines changed

netbox_acls/filtersets.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -232,6 +232,12 @@ class Meta:
232232
"source_ipaddress",
233233
"source_aggregate",
234234
"source_service",
235+
"destination_prefix",
236+
"destination_iprange",
237+
"destination_ipaddress",
238+
"destination_aggregate",
239+
"destination_service"
240+
)
235241

236242
def search(self, queryset, name, value):
237243
"""
@@ -247,5 +253,10 @@ def search(self, queryset, name, value):
247253
| Q(source_ipaddress__icontains=value)
248254
| Q(source_aggregate__icontains=value)
249255
| Q(source_service__icontains=value)
256+
| Q(destination_prefix__icontains=value)
257+
| Q(destination_iprange__icontains=value)
258+
| Q(destination_ipaddress__icontains=value)
259+
| Q(destination_aggregate__icontains=value)
260+
| Q(destination_service__icontains=value)
250261
)
251262
return queryset.filter(query)

netbox_acls/forms/filtersets.py

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -297,10 +297,32 @@ class ACLExtendedRuleFilterForm(NetBoxModelFilterSetForm):
297297
required=False,
298298
label="Source Service",
299299
)
300+
301+
destination_prefix = DynamicModelMultipleChoiceField(
300302
queryset=Prefix.objects.all(),
301303
required=False,
302304
label="Destination Prefix",
303305
)
306+
destination_iprange = DynamicModelMultipleChoiceField(
307+
queryset=IPRange.objects.all(),
308+
required=False,
309+
label="Destination IP-Range",
310+
)
311+
destination_ipaddress = DynamicModelMultipleChoiceField(
312+
queryset=IPAddress.objects.all(),
313+
required=False,
314+
label="Destination IP-Address",
315+
)
316+
destination_aggregate = DynamicModelMultipleChoiceField(
317+
queryset=Aggregate.objects.all(),
318+
required=False,
319+
label="Destination Aggregate",
320+
)
321+
destination_service = DynamicModelMultipleChoiceField(
322+
queryset=Service.objects.all(),
323+
required=False,
324+
label="Destination Service",
325+
)
304326
protocol = forms.ChoiceField(
305327
choices=add_blank_choice(ACLProtocolChoices),
306328
required=False,

0 commit comments

Comments
 (0)