From e8e62aa196be2937ec9ade436c31119929d5f57f Mon Sep 17 00:00:00 2001 From: Shivam Sandbhor Date: Sat, 30 Jan 2021 16:32:32 +0530 Subject: [PATCH 1/3] Add django admin functionality for searching and filtering objects Signed-off-by: Shivam Sandbhor --- vulnerabilities/admin.py | 10 ++++++---- vulnerabilities/models.py | 3 +++ 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/vulnerabilities/admin.py b/vulnerabilities/admin.py index d2271d1fc..dffda342a 100644 --- a/vulnerabilities/admin.py +++ b/vulnerabilities/admin.py @@ -34,22 +34,24 @@ @admin.register(Vulnerability) class VulnerabilityAdmin(admin.ModelAdmin): - pass + search_fields = ["cve_id"] @admin.register(VulnerabilityReference) class VulnerabilityReferenceAdmin(admin.ModelAdmin): - pass + search_fields = ["vulnerability__cve_id", "reference_id", "url"] @admin.register(Package) class PackageAdmin(admin.ModelAdmin): - pass + list_filter = ("type", "namespace") + search_fields = ["name"] @admin.register(PackageRelatedVulnerability) class PackageRelatedVulnerabilityAdmin(admin.ModelAdmin): - pass + list_filter = ("is_vulnerable", "package__type", "package__namespace") + search_fields = ["vulnerability__cve_id", "package__name"] @admin.register(Importer) diff --git a/vulnerabilities/models.py b/vulnerabilities/models.py index e438cb516..d7411c3c7 100644 --- a/vulnerabilities/models.py +++ b/vulnerabilities/models.py @@ -144,6 +144,9 @@ class PackageRelatedVulnerability(models.Model): vulnerability = models.ForeignKey(Vulnerability, on_delete=models.CASCADE) is_vulnerable = models.BooleanField() + def __str__(self): + return self.package.package_url + " " + self.vulnerability.cve_id + class Meta: unique_together = ("package", "vulnerability") verbose_name_plural = "PackageRelatedVulnerabilities" From 16a8c9a8b8a402f77caa5f2079c5523df1a59d96 Mon Sep 17 00:00:00 2001 From: Shivam Sandbhor Date: Sat, 30 Jan 2021 16:35:18 +0530 Subject: [PATCH 2/3] Update license header in admin.py Signed-off-by: Shivam Sandbhor --- vulnerabilities/admin.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/vulnerabilities/admin.py b/vulnerabilities/admin.py index dffda342a..0a5197f94 100644 --- a/vulnerabilities/admin.py +++ b/vulnerabilities/admin.py @@ -1,5 +1,5 @@ # -# Copyright (c) 2017 nexB Inc. and others. All rights reserved. +# Copyright (c) nexB Inc. and others. All rights reserved. # http://nexb.com and https://github.com/nexB/vulnerablecode/ # The VulnerableCode software is licensed under the Apache License version 2.0. # Data generated with VulnerableCode require an acknowledgment. @@ -18,7 +18,7 @@ # OR CONDITIONS OF ANY KIND, either express or implied. No content created from # VulnerableCode should be considered or used as legal advice. Consult an Attorney # for any legal advice. -# VulnerableCode is a free software code scanning tool from nexB Inc. and others. +# VulnerableCode is a free software tool from nexB Inc. and others. # Visit https://github.com/nexB/vulnerablecode/ for support and download. from django.contrib import admin From bd65fe4b1ad6e686cbcd87dc6666725ec36bf4e0 Mon Sep 17 00:00:00 2001 From: Shivam Sandbhor Date: Wed, 3 Feb 2021 12:51:57 +0530 Subject: [PATCH 3/3] Update vulnerabilities/models.py Signed-off-by: Shivam Sandbhor --- vulnerabilities/models.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vulnerabilities/models.py b/vulnerabilities/models.py index d7411c3c7..135772185 100644 --- a/vulnerabilities/models.py +++ b/vulnerabilities/models.py @@ -145,7 +145,7 @@ class PackageRelatedVulnerability(models.Model): is_vulnerable = models.BooleanField() def __str__(self): - return self.package.package_url + " " + self.vulnerability.cve_id + return f"{self.package.package_url} {self.vulnerability.cve_id}" class Meta: unique_together = ("package", "vulnerability")