From eeb5822aa765e7af21d856333b255b8b7e370063 Mon Sep 17 00:00:00 2001 From: Craine Runton Date: Thu, 21 Jul 2016 09:33:25 -0500 Subject: [PATCH] Add filtering to the web app --- node_app/get_cert_info.js | 10 ++++---- web_service/index.html | 31 ++++++++++++++++++++++++- web_service/js/tls-dashboard/scripts.js | 24 +++++++++++++++---- 3 files changed, 54 insertions(+), 11 deletions(-) diff --git a/node_app/get_cert_info.js b/node_app/get_cert_info.js index 37e55e4..297276f 100644 --- a/node_app/get_cert_info.js +++ b/node_app/get_cert_info.js @@ -108,28 +108,28 @@ function get_cert_parameters(element, index, array) { parsed.subject.common_name = 'The connection was reset by the server or timed out'; parsed.issuer.common_name = e.code; parsed.info.days_left = '--'; - parsed.info.background_class = 'info'; + parsed.info.background_class = 'error'; break; case 'ECONNREFUSED': assert(false, element+' connection refused by server.'); parsed.subject.common_name = 'The connection was refused by the remote server'; parsed.issuer.common_name = e.code; parsed.info.days_left = '--'; - parsed.info.background_class = 'info'; + parsed.info.background_class = 'error'; break; case 'UNABLE_TO_VERIFY_LEAF_SIGNATURE': assert(false, element+' self-signed or incomplete certificate chain.'); parsed.subject.common_name = 'The server provided a self-signed certificate or the provided certificate chain was incomplete'; parsed.issuer.common_name = e.code; parsed.info.days_left = '--'; - parsed.info.background_class = 'info'; + parsed.info.background_class = 'error'; break; default: assert(false, element+' unspecified error.'); parsed.subject.common_name = 'An unspecified error occured'; parsed.issuer.common_name = e.code; parsed.info.days_left = '--'; - parsed.info.background_class = 'info'; + parsed.info.background_class = 'error'; break; }; @@ -140,7 +140,7 @@ function get_cert_parameters(element, index, array) { parsed.subject.common_name = 'There was mismatch between the requested hostname and the certificate presented by the server'; parsed.issuer.common_name = 'HOSTNAME_MISMATCH'; parsed.info.days_left = '--'; - parsed.info.background_class = 'info'; + parsed.info.background_class = 'error'; break; } diff --git a/web_service/index.html b/web_service/index.html index eee2a1d..4fb27a6 100644 --- a/web_service/index.html +++ b/web_service/index.html @@ -20,6 +20,35 @@

TLS Certificate Expiration Dashboard

Created:

+
+
+

Filter Results

+
+
+
+
+
+
+ + + + + + +
+
+
+
@@ -28,4 +57,4 @@
- \ No newline at end of file + diff --git a/web_service/js/tls-dashboard/scripts.js b/web_service/js/tls-dashboard/scripts.js index 8ebb331..43ed988 100644 --- a/web_service/js/tls-dashboard/scripts.js +++ b/web_service/js/tls-dashboard/scripts.js @@ -1,15 +1,15 @@ $(function () { $('#created_date').html(run_date); - + var sorted_certificates = Object.keys(cert_info) .sort(function( a, b ) { return cert_info[a].info.sort_order - cert_info[b].info.sort_order; }).map(function(sortedKey) { return cert_info[sortedKey]; }); - + var card_html = String() - +'
' + +'
' +'
' +'
' +'

{{server}}

' @@ -25,7 +25,7 @@ $(function () { +'
' +'
' +'
'; - + function insert_card(json) { var card_template = Handlebars.compile(card_html), html = card_template(json); @@ -43,21 +43,35 @@ $(function () { switch (element.info.background_class) { case "danger": json.background = 'card-inverse card-danger'; + json.category = 'danger'; break; case "warning": json.background = 'card-inverse card-warning'; + json.category = 'warning'; break; case "info": json.background = 'card-inverse card-info'; + json.category = 'info'; + break; + case "error": + json.background = 'card-inverse card-info'; + json.category = 'error'; break; case "success": json.background = 'card-inverse card-success'; + json.category = 'normal'; break; default: json.background = 'card-inverse card-info'; + json.category = 'info'; break; }; insert_card(json); }); -}); \ No newline at end of file + + function update_visible_certs() { + $('[data-category="'+$(this).val()+'"]').toggle(); + } + $('input[type=checkbox]').change(update_visible_certs); +});