Skip to content

Commit fef9339

Browse files
finding groups: filter by product if applicable (#12711)
1 parent ffffe7d commit fef9339

File tree

2 files changed

+4
-2
lines changed

2 files changed

+4
-2
lines changed

dojo/filters.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1975,6 +1975,7 @@ def __init__(self, *args, **kwargs):
19751975
self.set_related_object_fields(*args, **kwargs)
19761976

19771977
def set_related_object_fields(self, *args: list, **kwargs: dict):
1978+
finding_group_query = Finding_Group.objects.all()
19781979
if self.pid is not None:
19791980
del self.form.fields["test__engagement__product"]
19801981
del self.form.fields["test__engagement__product__prod_type"]
@@ -1983,6 +1984,7 @@ def set_related_object_fields(self, *args: list, **kwargs: dict):
19831984
product_id=self.pid,
19841985
).all()
19851986
self.form.fields["test"].queryset = get_authorized_tests(Permissions.Test_View, product=self.pid).prefetch_related("test_type")
1987+
finding_group_query = Finding_Group.objects.filter(test__engagement__product_id=self.pid)
19861988
else:
19871989
self.form.fields[
19881990
"test__engagement__product__prod_type"].queryset = get_authorized_product_types(Permissions.Product_Type_View)
@@ -1992,7 +1994,7 @@ def set_related_object_fields(self, *args: list, **kwargs: dict):
19921994
if self.form.fields.get("test__engagement__product"):
19931995
self.form.fields["test__engagement__product"].queryset = get_authorized_products(Permissions.Product_View)
19941996
if self.form.fields.get("finding_group", None):
1995-
self.form.fields["finding_group"].queryset = get_authorized_finding_groups(Permissions.Finding_Group_View)
1997+
self.form.fields["finding_group"].queryset = get_authorized_finding_groups(Permissions.Finding_Group_View, queryset=finding_group_query)
19961998
self.form.fields["reporter"].queryset = get_authorized_users(Permissions.Finding_View)
19971999
self.form.fields["reviewers"].queryset = self.form.fields["reporter"].queryset
19982000

dojo/test/views.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -150,7 +150,7 @@ def get_findings(self, request: HttpRequest, test: Test):
150150
findings = Finding.objects.filter(test=test).order_by("numerical_severity")
151151
filter_string_matching = get_system_setting("filter_string_matching", False)
152152
finding_filter_class = FindingFilterWithoutObjectLookups if filter_string_matching else FindingFilter
153-
findings = finding_filter_class(request.GET, queryset=findings)
153+
findings = finding_filter_class(request.GET, pid=test.engagement.product.id, queryset=findings)
154154
paged_findings = get_page_items_and_count(request, prefetch_for_findings(findings.qs), 25, prefix="findings")
155155

156156
return {

0 commit comments

Comments
 (0)