Skip to content

Commit 2db4e3a

Browse files
add findings_count ordering to filters (#10045)
include dojo_sort snippet in findings_count table header add findings_count annotation to include column in query
1 parent 153058b commit 2db4e3a

File tree

3 files changed

+7
-1
lines changed

3 files changed

+7
-1
lines changed

dojo/filters.py

+2
Original file line numberDiff line numberDiff line change
@@ -1182,6 +1182,7 @@ class ProductFilter(DojoFilter):
11821182
('origin', 'origin'),
11831183
('external_audience', 'external_audience'),
11841184
('internet_accessible', 'internet_accessible'),
1185+
('findings_count', 'findings_count')
11851186
),
11861187
field_labels={
11871188
'name': 'Product Name',
@@ -1193,6 +1194,7 @@ class ProductFilter(DojoFilter):
11931194
'origin': 'Origin ',
11941195
'external_audience': 'External Audience ',
11951196
'internet_accessible': 'Internet Accessible ',
1197+
'findings_count': 'Findings Count ',
11961198
}
11971199

11981200
)

dojo/product/views.py

+4
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,10 @@ def product(request):
6868
# see https://code.djangoproject.com/ticket/23771 and https://code.djangoproject.com/ticket/25375
6969
name_words = prods.values_list('name', flat=True)
7070

71+
prods = prods.annotate(
72+
findings_count=Count('engagement__test__finding', filter=Q(engagement__test__finding__active=True))
73+
)
74+
7175
prod_filter = ProductFilter(request.GET, queryset=prods, user=request.user)
7276

7377
prod_list = get_page_items(request, prod_filter.qs, 25)

dojo/templates/dojo/product.html

+1-1
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ <h3 class="has-filters">
6262
{% if system_settings.enable_github %}
6363
<th class="text-center">GitHub</th>
6464
{% endif %}
65-
<th class="text-center"> Active (Verified) Findings</th>
65+
<th class="text-center">{% dojo_sort request 'Active (Verified) Findings' 'findings_count' %}</th>
6666
<th class="text-center"> Vulnerable Hosts / Endpoints</th>
6767
<th> Contact</th>
6868
{% comment %} The display field is translated in the function. No need to translate here as well{% endcomment %}

0 commit comments

Comments
 (0)