Skip to content

Commit e0dec3c

Browse files
committed
initial push sorting added in api and ui
Signed-off-by: NucleonGodX <[email protected]>
1 parent 56eb442 commit e0dec3c

File tree

2 files changed

+11
-11
lines changed

2 files changed

+11
-11
lines changed

vulnerabilities/api_v2.py

+6-6
Original file line numberDiff line numberDiff line change
@@ -141,7 +141,7 @@ def get_queryset(self):
141141
if aliases:
142142
queryset = queryset.filter(aliases__alias__in=aliases).distinct()
143143

144-
return queryset
144+
return queryset.order_by("-aliases__alias")
145145

146146
def get_serializer_class(self):
147147
if self.action == "list":
@@ -284,7 +284,7 @@ def get_queryset(self):
284284
queryset = queryset.filter(
285285
fixing_vulnerabilities__vulnerability_id=fixing_vulnerability
286286
)
287-
return queryset.with_is_vulnerable()
287+
return queryset.with_is_vulnerable().order_by("type", "namespace", "name", "-version")
288288

289289
def list(self, request, *args, **kwargs):
290290
queryset = self.get_queryset()
@@ -427,8 +427,8 @@ def bulk_search(self, request):
427427

428428
query = (
429429
Package.objects.filter(plain_package_url__in=plain_purls)
430-
.order_by("plain_package_url")
431-
.distinct("plain_package_url")
430+
.order_by("type", "namespace", "name", "-version")
431+
.distinct("type", "namespace", "name", "version")
432432
.with_is_vulnerable()
433433
)
434434

@@ -498,8 +498,8 @@ def all(self, request):
498498
vulnerable_purls = (
499499
Package.objects.vulnerable()
500500
.only("package_url")
501-
.order_by("package_url")
502-
.distinct()
501+
.order_by("type", "namespace", "name", "-version")
502+
.distinct("type", "namespace", "name", "version")
503503
.values_list("package_url", flat=True)
504504
)
505505
return Response(vulnerable_purls)

vulnerabilities/views.py

+5-5
Original file line numberDiff line numberDiff line change
@@ -86,14 +86,14 @@ def get_queryset(self, query=None):
8686
self.model.objects.search(query)
8787
.with_vulnerability_counts()
8888
.prefetch_related()
89-
.order_by("package_url")
89+
.order_by("type", "namespace", "name", "-version")
9090
)
9191

9292

9393
class VulnerabilitySearch(ListView):
9494
model = models.Vulnerability
9595
template_name = "vulnerabilities.html"
96-
ordering = ["vulnerability_id"]
96+
ordering = ["aliases"]
9797
paginate_by = PAGE_SIZE
9898

9999
def get_context_data(self, **kwargs):
@@ -105,7 +105,7 @@ def get_context_data(self, **kwargs):
105105

106106
def get_queryset(self, query=None):
107107
query = query or self.request.GET.get("search") or ""
108-
return self.model.objects.search(query=query).with_package_counts()
108+
return self.model.objects.search(query=query).with_package_counts().order_by("-aliases")
109109

110110

111111
class PackageDetails(DetailView):
@@ -118,10 +118,10 @@ def get_context_data(self, **kwargs):
118118
context = super().get_context_data(**kwargs)
119119
package = self.object
120120
context["package"] = package
121-
context["affected_by_vulnerabilities"] = package.affected_by.order_by("vulnerability_id")
121+
context["affected_by_vulnerabilities"] = package.affected_by.order_by("-aliases")
122122
# Ghost package should not fix any vulnerability.
123123
context["fixing_vulnerabilities"] = (
124-
None if package.is_ghost else package.fixing.order_by("vulnerability_id")
124+
None if package.is_ghost else package.fixing.order_by("-aliases")
125125
)
126126
context["package_search_form"] = PackageSearchForm(self.request.GET)
127127
context["fixed_package_details"] = package.fixed_package_details

0 commit comments

Comments
 (0)