Skip to content

Commit c6ca5d7

Browse files
committed
feat(filter): ACLExtendedRule: Adding new Destinations to the filter
1 parent 2758296 commit c6ca5d7

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
@@ -286,10 +286,32 @@ class ACLExtendedRuleFilterForm(NetBoxModelFilterSetForm):
286286
required=False,
287287
label="Source Service",
288288
)
289+
290+
destination_prefix = DynamicModelMultipleChoiceField(
289291
queryset=Prefix.objects.all(),
290292
required=False,
291293
label="Destination Prefix",
292294
)
295+
destination_iprange = DynamicModelMultipleChoiceField(
296+
queryset=IPRange.objects.all(),
297+
required=False,
298+
label="Destination IP-Range",
299+
)
300+
destination_ipaddress = DynamicModelMultipleChoiceField(
301+
queryset=IPAddress.objects.all(),
302+
required=False,
303+
label="Destination IP-Address",
304+
)
305+
destination_aggregate = DynamicModelMultipleChoiceField(
306+
queryset=Aggregate.objects.all(),
307+
required=False,
308+
label="Destination Aggregate",
309+
)
310+
destination_service = DynamicModelMultipleChoiceField(
311+
queryset=Service.objects.all(),
312+
required=False,
313+
label="Destination Service",
314+
)
293315
protocol = forms.ChoiceField(
294316
choices=add_blank_choice(ACLProtocolChoices),
295317
required=False,

0 commit comments

Comments
 (0)