diff options
Diffstat (limited to 'lib/srtgui/templates/cves-select-toastertable.html')
-rw-r--r-- | lib/srtgui/templates/cves-select-toastertable.html | 120 |
1 files changed, 65 insertions, 55 deletions
diff --git a/lib/srtgui/templates/cves-select-toastertable.html b/lib/srtgui/templates/cves-select-toastertable.html index 38828359..d29a2b92 100644 --- a/lib/srtgui/templates/cves-select-toastertable.html +++ b/lib/srtgui/templates/cves-select-toastertable.html @@ -1,4 +1,7 @@ {% extends 'base.html' %} +{% load projecttags %} +{% load humanize %} + {% load static %} @@ -29,7 +32,7 @@ /* Define the columns that floats next to each other */ .column1 { float: left; - width: 280px; + width: 380px; padding: 10px; } .column2 { @@ -48,7 +51,7 @@ {% endblock %} -{% block title %} Select CVE's - SRTool {% endblock %} +{% block title %} Select CVEs - SRTool {% endblock %} {% block pagecontent %} @@ -58,8 +61,8 @@ <ul class="breadcrumb" id="breadcrumb"> <li><a href="{% url 'landing' %}">Home</a></li><span class="divider">→</span> <li><a href="{% url 'manage' %}">Management</a></li><span class="divider">→</span> - <li><a href="{% url 'triage_cves' %}">Triage CVE's</a></li><span class="divider">→</span> - <li>Select CVE's</li> + <li><a href="{% url 'triage_cves' %}">Triage CVEs</a></li><span class="divider">→</span> + <li>Select CVEs</li> </ul> </div> </div> @@ -79,17 +82,18 @@ </div> --> - <div id="details-isvulnerable" style="display:none;"> + <div id="details-isvulnerable-investigate" style="display:none;"> <p><p> - <button class="execute" id="submit-isvulnerable"> Submit Vulnerable CVE's </button> + <button class="execute" id="submit-isvulnerable-investigate"> Submit Vulnerable CVEs </button> <div class="row"> <div class="column1"> <p><b><label id="products_count">Optional: Add Vulnerable Products (0):</label></b> - <div id="all-products" class="scrolling" style="width: 250px;"> - {% for product in products %} + <div id="all-products" class="scrolling" style="width: 350px;"> + {% for product in products|dictsort:"order" %} <div class="checkbox"> <label> <input class="checkbox-products" name="{{product.pk}}" type="checkbox">{{product.long_name}} + ({{product.defect_tags|get_strdict_value:"found_version"}}) </label> <p> </div> @@ -100,10 +104,13 @@ <p><b><label id="priority">Set Priority:</label></b> <div id="priority-list" class="scrolling" style="width: 120px;"> <div class="checkbox"> <label> + <input type="radio" name="priority" value="99" type="checkbox" checked="yes"> Auto <span class="glyphicon glyphicon-question-sign get-help" title="CVSSv3, else CVSSv2, else Medium"></span> + </label><p></div> + <div class="checkbox"> <label> <input type="radio" name="priority" value="4" type="checkbox"> High </label><p></div> <div class="checkbox"> <label> - <input type="radio" name="priority" value="3" type="checkbox" checked="yes"> Medium + <input type="radio" name="priority" value="3" type="checkbox"> Medium </label><p></div> <div class="checkbox"> <label> <input type="radio" name="priority" value="2" type="checkbox"> Low @@ -127,11 +134,23 @@ </div> <p><input id="create_defects" type="checkbox"> Create Defect(s) </input> - Reason: <input type="text" id="input-defect-reason" name="defect-reason" size="20" placeholder="(optional)"> (e.g. "Security Advisory [- REASON -] CVE-2020-1234") + Reason: <input type="text" id="input-defect-reason" name="defect-reason" size="20" placeholder="(optional)"> (e.g. Defect summary: "Security Advisory [- REASON -] CVE-2020-1234") <input id="create_notifications" type="checkbox" checked> Create Notifications</input> <p><b><big>Reason: </big></b> <input type="text" id="input-isvulnerable-reason" name="reason" size="40"> <input id="markPublishIs" type="checkbox"> Mark for Publish</input> <input id="markFor" type="checkbox"> Add Keywords to 'For' </input> + <p><b><big>Affected Components: </big></b> + <input type="text" id="input-isvulnerable-components" name="components" size="40"> (e.g. space-separated list of packages, recipes, sub-system list, applications, ) + + <div id="published-date-list"> + <p><i>Acknowledge Date</i> = + <select name="Acknowledge_Date" id="select-acknowledge-date"> + <option value="today" selected>Today</option> + <option value="publish">CVE's original release date</option> + <option value="update">CVE's last revised date</option> + <option value="no_change">No change</option> + </select> + </div> <div id="group_vulnerability" style="border: 1px solid #dddddd; padding: 0 5px; width: 400px; margin-bottom: 10px; margin-top: 0px; " > <div class="checkbox"> <label> @@ -151,15 +170,15 @@ <div id="details-notvulnerable" style="display:none;"> <p><p> - <button class="execute" id="submit-notvulnerable"> Submit Not-vulnerable CVE's </button> - <input id="notship" type="checkbox"> "We do not ship ..." </input> + <button class="execute" id="submit-notvulnerable"> Submit Not-vulnerable CVEs </button> + <input id="notship" type="checkbox"> "{{doesnotimpact_text|safe}}" </input> <p><b><big>Reason: </big></b> <p><input type="text" id="input-notvulnerable-reason" name="reason" size="40"> <input id="markPublishNot" type="checkbox"> Mark for Publish</input> <input id="markAgainst" type="checkbox"> Add Keywords to 'Against' </input> </div> <div id="details-investigate" style="display:none;"> <p><p> - <button class="execute" id="submit-investigate"> Submit Investigation CVE's </button> + <button class="execute" id="submit-investigate"> Submit Investigation CVEs </button> </div> <div id="details-other" style="display:none;"> @@ -251,13 +270,11 @@ } document.getElementById("unselect-these").innerText = "Un-select "+cve_checked_count+" checked"; if (0 == cve_checked_count) { - //$("#submit-isvulnerable").attr("disabled","disabled"); document.getElementById("submit-notvulnerable").disabled = true; - document.getElementById("submit-isvulnerable").disabled = true; + document.getElementById("submit-isvulnerable-investigate").disabled = true; } else { - //$("#submit-isvulnerable").removeAttr("disabled"); document.getElementById("submit-notvulnerable").disabled = false; - document.getElementById("submit-isvulnerable").disabled = false; + document.getElementById("submit-isvulnerable-investigate").disabled = false; } } @@ -282,19 +299,20 @@ $("#select-these").removeAttr("disabled"); $("#unselect-these").removeAttr("disabled"); $("#select-notvulnerable").removeAttr("disabled"); - $("#select-investigate").removeAttr("disabled"); $("#select-other").removeAttr("disabled"); - $("#details-isvulnerable").slideUp(); + $("#details-isvulnerable-investigate").slideUp(); } else { selected_isvulnerable=true; $("#select-these").attr("disabled","disabled"); $("#unselect-these").attr("disabled","disabled"); $("#select-notvulnerable").attr("disabled","disabled"); - $("#select-investigate").attr("disabled","disabled"); $("#select-other").attr("disabled","disabled"); - $("#input-isvulnerable-reason").val($("#search-input-selectcvetable").val()) + /* preset reason/components from search */ + /* $("#input-isvulnerable-reason").val($("#search-input-selectcvetable").val()) */ + /* $("#input-isvulnerable-components").val($("#search-input-selectcvetable").val()) */ update_vulnerable_status(); - $("#details-isvulnerable").slideDown(); + document.getElementById("submit-isvulnerable-investigate").innerText = " Submit Vulnerable CVEs "; + $("#details-isvulnerable-investigate").slideDown(); } }); @@ -330,7 +348,7 @@ $("#select-isvulnerable").removeAttr("disabled"); $("#select-notvulnerable").removeAttr("disabled"); $("#select-other").removeAttr("disabled"); - $("#details-investigate").slideUp(); + $("#details-isvulnerable-investigate").slideUp(); } else { selected_investigate=true; $("#select-these").attr("disabled","disabled"); @@ -339,7 +357,8 @@ $("#select-notvulnerable").attr("disabled","disabled"); $("#select-other").attr("disabled","disabled"); update_vulnerable_status(); - $("#details-investigate").slideDown(); + document.getElementById("submit-isvulnerable-investigate").innerText = " Submit Investigation CVEs "; + $("#details-isvulnerable-investigate").slideDown(); } }); @@ -367,19 +386,19 @@ $('#notship').click(function(){ - not_ship = "We do not ship '"; + not_ship = "{{doesnotimpact_text|safe}}"; var reason = $("#input-notvulnerable-reason").val().trim(); reason = reason.replace(not_ship,''); - if ("'" == reason.slice(-1)) { - reason = reason.slice(0,-1) - } if ($('#notship').is(':checked')) { - reason = not_ship + reason + "'"; + reason = not_ship + reason; } $("#input-notvulnerable-reason").val(reason); }); - $('#submit-isvulnerable').click(function(){ + $('#submit-isvulnerable-investigate').click(function(){ + + /* Disable the button so the we do not get double clicks */ + $("#submit-isvulnerable-investigate").attr("disabled","disabled"); var cve_list=[]; $('#selectcvetable input:checked').each(function(){ @@ -387,7 +406,7 @@ }); cve_list = cve_list.join(","); if ("" == cve_list) { - alert("No CVE's were selected"); + alert("No CVEs were selected"); return; } var product_list=[]; @@ -409,9 +428,15 @@ $('#group_vulnerability input:checked').each(function(){ group_vulnerability = $(this).attr('value'); }); + if (selected_isvulnerable) { + action = 'submit-isvulnerable'; + } else { + action = 'submit-investigate'; + } postCommitAjaxRequest({ - "action" : 'submit-isvulnerable', + "action" : action, "reason" : $("#input-isvulnerable-reason").val(), + "affected_components" : $("#input-isvulnerable-components").val(), "defect_reason" : $("#input-defect-reason").val(), "cves" : cve_list, "products": product_list, @@ -420,6 +445,7 @@ "pub" : $('#markPublishIs').is(':checked') ? "yes" : "no", "for" : $('#markFor').is(':checked') ? "yes" : "no", "mk_d" : $('#create_defects').is(':checked') ? "yes" : "no", + "acknowledge_date" : $('#select-acknowledge-date').val(), "vul_group": group_vulnerability, "vul_name": $("#vulnerability_name").val(), "notify" : $('#create_notifications').is(':checked') ? "yes" : "no", @@ -435,36 +461,20 @@ }); cve_list = cve_list.join(","); if ("" == cve_list) { - alert("No CVE's were selected"); + alert("No CVEs were selected"); return; } + reason = $("#input-notvulnerable-reason").val() + reason = reason.replace(/:$/, ""); postCommitAjaxRequest({ "action" : 'submit-notvulnerable', - "reason" : $("#input-notvulnerable-reason").val(), + "reason" : reason, "cves" : cve_list, "pub" : $('#markPublishNot').is(':checked') ? "yes" : "no", "against" : $('#markAgainst').is(':checked') ? "yes" : "no", }); }); - $('#submit-investigate').click(function(){ - var cve_list=[]; - $('#selectcvetable input').each(function(){ - if ($(this).is(':checked')) { - cve_list.push($(this).prop('name')); - } - }); - cve_list = cve_list.join(","); - if ("" == cve_list) { - alert("No CVE's were selected"); - return; - } - postCommitAjaxRequest({ - "action" : 'submit-investigate', - "cves" : cve_list, - }); - }); - $('#submit-other').click(function(){ var cve_list=[]; $('#selectcvetable input').each(function(){ @@ -474,7 +484,7 @@ }); cve_list = cve_list.join(","); if ("" == cve_list) { - alert("No CVE's were selected"); + alert("No CVEs were selected"); return; } var status=$('#select-status-state').val(); @@ -501,11 +511,11 @@ var titleElt = $("[data-role='page-title']"); tableElt.on("table-done", function (e, total, tableParams) { - var title = "Triage CVE's"; + var title = "Triage CVEs"; if (tableParams.search || tableParams.filter) { if (total === 0) { - title = "No CVE's found"; + title = "No CVEs found"; } else if (total > 0) { title = total + " CVE" + (total > 1 ? "'s" : '') + " found"; |