From 09b249b0ca0b5970b779064d46b3ed47f1cf9370 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lars=20Sj=C3=B6str=C3=B6m?= Date: Thu, 31 Oct 2013 14:28:25 +0100 Subject: [PATCH] make failed/success event counts clickable --- puppetboard/app.py | 10 ++++++++-- puppetboard/templates/index.html | 10 +++++++--- 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/puppetboard/app.py b/puppetboard/app.py index d443354..c25b78d 100644 --- a/puppetboard/app.py +++ b/puppetboard/app.py @@ -10,6 +10,7 @@ from datetime import datetime, timedelta from flask import ( Flask, render_template, abort, url_for, Response, stream_with_context, redirect, + request ) from pypuppetdb import connect @@ -147,6 +148,7 @@ def nodes(): works. Once pagination is in place we can change this but we'll need to provide a search feature instead. """ + status_arg = request.args.get('status', '') latest_events = puppetdb._query( 'event-counts', query='["=", "latest-report?", true]', @@ -161,8 +163,12 @@ def nodes(): if status: node.status = status[0] else: - node.status = None - nodes.append(node) + node.status = {} + if status_arg: + if node.status.has_key(status_arg) and node.status[status_arg]: + nodes.append(node) + else: + nodes.append(node) return Response(stream_with_context( stream_template('nodes.html', nodes=nodes))) diff --git a/puppetboard/templates/index.html b/puppetboard/templates/index.html index 5701b8c..d2a0afa 100644 --- a/puppetboard/templates/index.html +++ b/puppetboard/templates/index.html @@ -4,11 +4,15 @@
-

{{latest_event_count['failures']}} node(s)

- with failures in latest reports + +

{{latest_event_count['failures']}} node(s)

+
+ with failures in latest reports
-

{{latest_event_count['successes']}} node(s)

+ +

{{latest_event_count['successes']}} node(s)

+
with successes in latest reports