Skip to content

Commit 8d1f698

Browse files
committed
feat(filter): ACLExtendedRule: Adding new Sources to the filter
1 parent c8a19b6 commit 8d1f698

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
@@ -261,7 +261,31 @@ class ACLExtendedRuleFilterForm(NetBoxModelFilterSetForm):
261261
required=False,
262262
label="Source Prefix",
263263
)
264-
desintation_prefix = DynamicModelMultipleChoiceField(
264+
source_prefix = DynamicModelMultipleChoiceField(
265+
queryset=Prefix.objects.all(),
266+
required=False,
267+
label="Source Prefix",
268+
)
269+
source_iprange = DynamicModelMultipleChoiceField(
270+
queryset=IPRange.objects.all(),
271+
required=False,
272+
label="Source IP-Range",
273+
)
274+
source_ipaddress = DynamicModelMultipleChoiceField(
275+
queryset=IPAddress.objects.all(),
276+
required=False,
277+
label="Source IP-Address",
278+
)
279+
source_aggregate = DynamicModelMultipleChoiceField(
280+
queryset=Aggregate.objects.all(),
281+
required=False,
282+
label="Source Aggregate",
283+
)
284+
source_service = DynamicModelMultipleChoiceField(
285+
queryset=Service.objects.all(),
286+
required=False,
287+
label="Source Service",
288+
)
265289
queryset=Prefix.objects.all(),
266290
required=False,
267291
label="Destination Prefix",

0 commit comments

Comments
 (0)