Skip to content

Commit 6df203d

Browse files
author
shivamshrma09
committed
fix #1754: newest-first sorting for packages + vulnerabilities
- packages: version_rank desc - vulns: vulnerability_id desc - advisories: advisory_id desc
1 parent 32bf25f commit 6df203d

File tree

1 file changed

+6
-4
lines changed

1 file changed

+6
-4
lines changed

vulnerabilities/views.py

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -64,13 +64,14 @@ def get_queryset(self, query=None):
6464
Return a Package queryset for the ``query``.
6565
Make a best effort approach to find matching packages either based
6666
on exact purl, partial purl or just name and namespace.
67+
Results are sorted by version rank (newest first).
6768
"""
6869
query = query or self.request.GET.get("search") or ""
6970
return (
7071
self.model.objects.search(query)
7172
.with_vulnerability_counts()
7273
.prefetch_related()
73-
.order_by("package_url")
74+
.order_by("-version_rank", "package_url")
7475
)
7576

7677

@@ -92,13 +93,14 @@ def get_queryset(self, query=None):
9293
Return a Package queryset for the ``query``.
9394
Make a best effort approach to find matching packages either based
9495
on exact purl, partial purl or just name and namespace.
96+
Results are sorted by version rank (newest first).
9597
"""
9698
query = query or self.request.GET.get("search") or ""
9799
return (
98100
self.model.objects.search(query)
99101
.with_vulnerability_counts()
100102
.prefetch_related()
101-
.order_by("package_url")
103+
.order_by("-version_rank", "package_url")
102104
)
103105

104106

@@ -117,7 +119,7 @@ def get_context_data(self, **kwargs):
117119

118120
def get_queryset(self, query=None):
119121
query = query or self.request.GET.get("search") or ""
120-
return self.model.objects.search(query=query).with_package_counts()
122+
return self.model.objects.search(query=query).with_package_counts().order_by("-vulnerability_id")
121123

122124

123125
class AdvisorySearch(ListView):
@@ -135,7 +137,7 @@ def get_context_data(self, **kwargs):
135137

136138
def get_queryset(self, query=None):
137139
query = query or self.request.GET.get("search") or ""
138-
return self.model.objects.search(query=query).with_package_counts()
140+
return self.model.objects.search(query=query).with_package_counts().order_by("-advisory_id")
139141

140142

141143
class PackageDetails(DetailView):

0 commit comments

Comments
 (0)