Skip to content

Commit bf75475

Browse files
committed
Refactor UI for new vulnerabiity model
Signed-off-by: Shivam Sandbhor <shivam.sandbhor@gmail.com>
1 parent 9fe5864 commit bf75475

6 files changed

Lines changed: 17 additions & 16 deletions

File tree

docs/how-to-guides/add_new_importer.rst

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -37,12 +37,13 @@ The Building Blocks A.K.A Prerequisites
3737
impacted_package_urls: Iterable[PackageURL]
3838
resolved_package_urls: Iterable[PackageURL] = dataclasses.field(default_factory=list)
3939
vuln_references: List[Reference] = dataclasses.field(default_factory=list)
40-
cve_id: Optional[str] = None
40+
vulnerability_id: Optional[str] = None
4141
4242
class Reference:
43-
44-
url: str = ''
45-
reference_id: str = ''
43+
reference_id: str = ""
44+
url: str = ""
45+
severities: List[VulnerabilitySeverity] = dataclasses.field(default_factory=list)
46+
4647
4748
Steps to build an Importer
4849
--------------------------
@@ -120,7 +121,7 @@ method of the migration script.
120121
for version in vuln_pkg_versions}
121122
122123
123-
advisory = Advisory(cve_id=cve_id,summary='',impacted_package_urls=vuln_purls,resolved_package_urls=safe_purls)
124+
advisory = Advisory(vulnerability_id=cve_id,summary='',impacted_package_urls=vuln_purls,resolved_package_urls=safe_purls)
124125
advisories.append(advisory)
125126
return advisories
126127

vulnerabilities/admin.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,12 +35,12 @@
3535

3636
@admin.register(Vulnerability)
3737
class VulnerabilityAdmin(admin.ModelAdmin):
38-
search_fields = ["cve_id"]
38+
search_fields = ["vulnerability_id"]
3939

4040

4141
@admin.register(VulnerabilityReference)
4242
class VulnerabilityReferenceAdmin(admin.ModelAdmin):
43-
search_fields = ["vulnerability__cve_id", "reference_id", "url"]
43+
search_fields = ["vulnerability__vulnerability_id", "reference_id", "url"]
4444

4545

4646
@admin.register(Package)
@@ -52,7 +52,7 @@ class PackageAdmin(admin.ModelAdmin):
5252
@admin.register(PackageRelatedVulnerability)
5353
class PackageRelatedVulnerabilityAdmin(admin.ModelAdmin):
5454
list_filter = ("is_vulnerable", "package__type", "package__namespace")
55-
search_fields = ["vulnerability__cve_id", "package__name"]
55+
search_fields = ["vulnerability__vulnerability_id", "package__name"]
5656

5757

5858
@admin.register(Importer)

vulnerabilities/models.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -176,7 +176,7 @@ class PackageRelatedVulnerability(models.Model):
176176
is_vulnerable = models.BooleanField()
177177

178178
def __str__(self):
179-
return f"{self.package.package_url} {self.vulnerability.cve_id}"
179+
return f"{self.package.package_url} {self.vulnerability.vulnerability_id}"
180180

181181
class Meta:
182182
unique_together = ("package", "vulnerability")

vulnerabilities/templates/vulnerabilities.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ <h1 class="title">
3636
</tr>
3737
{% for vulnerability in vulnerabilities %}
3838
<tr>
39-
<td><a href="{% url 'vulnerability_view' vulnerability.pk %}">{{vulnerability.cve_id}}</a></td>
39+
<td><a href="{% url 'vulnerability_view' vulnerability.pk %}">{{vulnerability.vulnerability_id}}</a></td>
4040
<td>{{vulnerability.vulnerable_to.all|length}}</td>
4141
<td>{{vulnerability.resolved_to.all|length}}</td>
4242
</tr>

vulnerabilities/templates/vulnerability.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
{% block title %}
44
<h1 class="title">
5-
{{vulnerability.cve_id}}
5+
{{vulnerability.vulnerability_id}}
66
</h1>
77
{% endblock %}
88

vulnerabilities/views.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ def get(self, request):
8888
@staticmethod
8989
def request_to_queryset(request):
9090
vuln_id = request.GET["vuln_id"]
91-
return models.Vulnerability.objects.filter(cve_id__contains=vuln_id)
91+
return models.Vulnerability.objects.filter(vulnerability_id__contains=vuln_id)
9292

9393

9494
class PackageUpdate(UpdateView):
@@ -142,7 +142,7 @@ class VulnerabilityCreate(CreateView):
142142

143143
template_name = "vulnerability_create.html"
144144
model = models.Vulnerability
145-
fields = ["cve_id", "summary"]
145+
fields = ["vulnerability_id", "summary"]
146146

147147
def get_success_url(self):
148148

@@ -193,7 +193,7 @@ def post(self, request, *args, **kwargs):
193193
if "vuln_id" in self.request.POST:
194194
is_vulnerable = "impacted" in self.request.headers["Referer"]
195195
relation = self.create_relationship_instance(
196-
cve_id=self.request.POST["vuln_id"],
196+
vulnerability_id=self.request.POST["vuln_id"],
197197
package_id=kwargs["pid"],
198198
is_vulnerable=is_vulnerable,
199199
)
@@ -214,9 +214,9 @@ def relationship_already_exists(relationship):
214214
return existing_relation.exists()
215215

216216
@staticmethod
217-
def create_relationship_instance(cve_id, package_id, is_vulnerable):
217+
def create_relationship_instance(vulnerability_id, package_id, is_vulnerable):
218218
package = models.Package.objects.get(id=package_id)
219-
vulnerability, vuln_created = models.Vulnerability.objects.get_or_create(cve_id=cve_id)
219+
vulnerability, vuln_created = models.Vulnerability.objects.get_or_create(vulnerability_id=vulnerability_id) # nopep8
220220
return models.PackageRelatedVulnerability(
221221
vulnerability=vulnerability, package=package, is_vulnerable=is_vulnerable
222222
)

0 commit comments

Comments
 (0)