Skip to content

Commit

Permalink
Merge pull request #13425 from mtruj013/filtered-releases
Browse files Browse the repository at this point in the history
Update release links
  • Loading branch information
mtruj013 authored Jan 9, 2024
2 parents 5e3dc3d + 92489d1 commit 31802d4
Show file tree
Hide file tree
Showing 3 changed files with 36 additions and 10 deletions.
13 changes: 13 additions & 0 deletions static/js/src/cve/cve.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,10 @@ import {

const searchInput = document.querySelector("#q");
const searchForm = document.querySelector("#searchForm");
const cveList = document.querySelector("#cve-list");
const recentCves = document.querySelector("#recent-cves");
const url = new URL(window.location.href);
const urlParams = new URLSearchParams(url.search);

function handleCveIdInput(value) {
const packageInput = document.querySelector("#package");
Expand Down Expand Up @@ -148,3 +152,12 @@ tooltipIconList.forEach(function (tooltipIcon) {
false
);
});

function showCVEList() {
if (urlParams.has("status")) {
recentCves.classList.add("u-hide");
cveList.classList.remove("u-hide");
}
}

showCVEList();
19 changes: 10 additions & 9 deletions templates/security/cve/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -68,21 +68,22 @@ <h3 class="p-heading--5">By Ubuntu release</h3>
</div>
<div class="col-7">
<ul class="p-inline-list" style="margin-top: .3rem;">
<li class="p-inline-list__item"><a>All maintained releases</a></li>
<li class="p-inline-list__item"><a>All LTS</a></li>
<li class="p-inline-list__item"><a>22.04 LTS</a></li>
<li class="p-inline-list__item"><a>20.04 LTS</a></li>
<li class="p-inline-list__item"><a>18.04 LTS</a></li>
<li class="p-inline-list__item"><a>23.10</a></li>
<li class="p-inline-list__item"><a>Other releases</a></li>
<!-- Once the search results page is finished and the cve list is not tied to the current table cols, selected releases, maintained releases, and lts releases will be accounted for separately -->
<li class="p-inline-list__item"><a href="/security/cves?{% for release in selected_releases %}version={{release.codename}}&status=&{% endfor %}">All maintained releases</a></li>
<li class="p-inline-list__item"><a href="/security/cves?version=jammy&status=&version=focal&status=&version=bionic&status=&version=xenial&status=&version=trusty&status=">All LTS</a></li>
<li class="p-inline-list__item"><a href="/security/cves?version=jammy&status=">22.04 LTS</a></li>
<li class="p-inline-list__item"><a href="/security/cves?version=focal&status=">20.04 LTS</a></li>
<li class="p-inline-list__item"><a href="/security/cves?version=bionic&status=">18.04 LTS</a></li>
<li class="p-inline-list__item"><a href="/security/cves?version=mantic&status=">23.10</a></li>
<li class="p-inline-list__item"><a href="/security/cves?status=">Other releases</a></li>
</ul>
</div>
</div>
</div>
</div>
</section>

<section class="p-section">
<section class="p-section" id="recent-cves">
<div class="row">
<hr class="p-rule"/>
<div class="col-3 p-section--shallow">
Expand Down Expand Up @@ -160,7 +161,7 @@ <h2>Recent CVEs</h2>
</div>
</section>

<section class="p-strip is-shallow u-overflow-inherit u-hide">
<section class="p-strip is-shallow u-overflow-inherit u-hide" id="cve-list">
<div class="u-fixed-width">
{% if query or package or priority %}
<h2>
Expand Down
14 changes: 13 additions & 1 deletion webapp/security/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -368,6 +368,8 @@ def cve_index():
all_releases.append(release)

selected_releases = []
lts_releases = []
maintained_releases = []

for release in all_releases:
# format dates
Expand All @@ -377,14 +379,22 @@ def cve_index():
esm_date = datetime.strptime(
release["esm_expires"], "%Y-%m-%dT%H:%M:%S"
)
release_date = datetime.strptime(
release["release_date"], "%Y-%m-%dT%H:%M:%S"
)

# filter releases
if versions and versions != [""]:
for version in versions:
if version == release["codename"]:
selected_releases.append(release)
elif support_date > datetime.now() or esm_date > datetime.now():
elif (
support_date > datetime.now() or esm_date > datetime.now()
) and release_date < datetime.now():
selected_releases.append(release)
maintained_releases.append(release)
elif release["lts"] and release_date < datetime.now():
lts_releases.append(release)

selected_releases = sorted(selected_releases, key=lambda d: d["version"])

Expand Down Expand Up @@ -425,6 +435,8 @@ def cve_index():
versions=versions,
statuses=statuses,
selected_releases=selected_releases,
lts_releases=lts_releases,
maintained_releases=maintained_releases,
high_priority_cves=high_priority_cves,
)

Expand Down

0 comments on commit 31802d4

Please sign in to comment.