diff --git a/vulnerabilities/models.py b/vulnerabilities/models.py index 2e69be49a..9b3acc9e2 100644 --- a/vulnerabilities/models.py +++ b/vulnerabilities/models.py @@ -1136,9 +1136,9 @@ def get_affecting_vulnerabilities(self): next_fixed_package_vulns = list(fixed_by_pkg.affected_by) fixed_by_package_details["fixed_by_purl"] = fixed_by_purl - fixed_by_package_details["fixed_by_purl_vulnerabilities"] = ( - next_fixed_package_vulns - ) + fixed_by_package_details[ + "fixed_by_purl_vulnerabilities" + ] = next_fixed_package_vulns fixed_by_pkgs.append(fixed_by_package_details) vuln_details["fixed_by_package_details"] = fixed_by_pkgs @@ -2552,6 +2552,9 @@ class AdvisoryToDoV2(models.Model): class Meta: unique_together = ("related_advisories_id", "issue_type") + # todo add index! + # use uuid for todo identification. + class AdvisorySeverity(models.Model): url = models.URLField( @@ -2981,6 +2984,8 @@ class AdvisoryV2(models.Model): choices=AdvisoryStatusType.choices, default=AdvisoryStatusType.PUBLISHED ) + # Note: Fields and relations below are not part of original upstream advisory. + exploitability = models.DecimalField( null=True, blank=True, diff --git a/vulnerabilities/pipes/openssl.py b/vulnerabilities/pipes/openssl.py index 1dffdedc1..b240f416c 100644 --- a/vulnerabilities/pipes/openssl.py +++ b/vulnerabilities/pipes/openssl.py @@ -89,7 +89,9 @@ def get_reference(reference_name, tag, reference_url): ref_type = ( AdvisoryReference.COMMIT if "commit" in name or tag == "patch" - else AdvisoryReference.ADVISORY if "advisory" in name else AdvisoryReference.OTHER + else AdvisoryReference.ADVISORY + if "advisory" in name + else AdvisoryReference.OTHER ) return ReferenceV2( diff --git a/vulnerabilities/templates/advisory_todos.html b/vulnerabilities/templates/advisory_todos.html new file mode 100644 index 000000000..75b46d3fc --- /dev/null +++ b/vulnerabilities/templates/advisory_todos.html @@ -0,0 +1,165 @@ +{% extends "base.html" %} +{% load utils %} + +{% block title %} +Advisory To-Dos +{% endblock %} + +{% block extrahead %} + +{% endblock %} + + +{% block content %} +
+
+
+ +
+
+

Advisory To-Dos

+
+
+
+ +
+
+ {{ form.search }} + + {% if form.search.value %} + + ✕ + + {% endif %} +
+ +
+ +
+
+
+ +
+ + + + + + + + + + + + + {% for todo in todo_list %} + + + + {% empty %} + + + + {% endfor %} + +
+
+
+
CVE
+
Aliases
+
Resolved
+
# Advisories
+
Issue
+
+
+
+
+ + +
+
+
+ +
+
+ +
+
+ +
+ +
+
+ +
+
+
+
+
+ +
+
+ {{ identifiers|get_item:todo.id|get_item:"identifier" }} +
+
+ {{ identifiers|get_item:todo.id|get_item:"aliases"|default_if_none:""|join:", "|default:"NA" }} +
+
+ {{ todo.is_resolved|yesno:"Yes,No" }} +
+
+ {{ todo.advisories.all|length }} +
+
+ {{ todo.get_issue_type_display }} +
+
+
+
No pipeline found.
+
+ {% include "includes/pagination_v2.html" with page_obj=page_obj %} +
+
+
+{% endblock %} + diff --git a/vulnerabilities/templates/includes/pagination_v2.html b/vulnerabilities/templates/includes/pagination_v2.html new file mode 100644 index 000000000..3afba9a53 --- /dev/null +++ b/vulnerabilities/templates/includes/pagination_v2.html @@ -0,0 +1,65 @@ +{% load utils %} + +{% if page_obj.has_other_pages %} + +{% endif %} \ No newline at end of file diff --git a/vulnerabilities/templates/navbar.html b/vulnerabilities/templates/navbar.html index 3d3fa0e91..fa19ccfc8 100644 --- a/vulnerabilities/templates/navbar.html +++ b/vulnerabilities/templates/navbar.html @@ -35,6 +35,9 @@