Skip to content

Commit 836851f

Browse files
committed
feat(filter): ACLExtendedRule: Adding new Sources to the filter
1 parent 48bd86a commit 836851f

File tree

2 files changed

+41
-2
lines changed

2 files changed

+41
-2
lines changed

netbox_acls/filtersets.py

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -221,7 +221,17 @@ class Meta:
221221
"""
222222

223223
model = ACLExtendedRule
224-
fields = ("id", "access_list", "index", "action", "protocol")
224+
fields = (
225+
"id",
226+
"access_list",
227+
"index",
228+
"action",
229+
"protocol",
230+
"source_prefix",
231+
"source_iprange",
232+
"source_ipaddress",
233+
"source_aggregate",
234+
"source_service",
225235

226236
def search(self, queryset, name, value):
227237
"""
@@ -232,5 +242,10 @@ def search(self, queryset, name, value):
232242
| Q(index__icontains=value)
233243
| Q(action__icontains=value)
234244
| Q(protocol__icontains=value)
245+
| Q(source_prefix__icontains=value)
246+
| Q(source_iprange__icontains=value)
247+
| Q(source_ipaddress__icontains=value)
248+
| Q(source_aggregate__icontains=value)
249+
| Q(source_service__icontains=value)
235250
)
236251
return queryset.filter(query)

netbox_acls/forms/filtersets.py

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -272,7 +272,31 @@ class ACLExtendedRuleFilterForm(NetBoxModelFilterSetForm):
272272
required=False,
273273
label="Source Prefix",
274274
)
275-
desintation_prefix = DynamicModelMultipleChoiceField(
275+
source_prefix = DynamicModelMultipleChoiceField(
276+
queryset=Prefix.objects.all(),
277+
required=False,
278+
label="Source Prefix",
279+
)
280+
source_iprange = DynamicModelMultipleChoiceField(
281+
queryset=IPRange.objects.all(),
282+
required=False,
283+
label="Source IP-Range",
284+
)
285+
source_ipaddress = DynamicModelMultipleChoiceField(
286+
queryset=IPAddress.objects.all(),
287+
required=False,
288+
label="Source IP-Address",
289+
)
290+
source_aggregate = DynamicModelMultipleChoiceField(
291+
queryset=Aggregate.objects.all(),
292+
required=False,
293+
label="Source Aggregate",
294+
)
295+
source_service = DynamicModelMultipleChoiceField(
296+
queryset=Service.objects.all(),
297+
required=False,
298+
label="Source Service",
299+
)
276300
queryset=Prefix.objects.all(),
277301
required=False,
278302
label="Destination Prefix",

0 commit comments

Comments
 (0)