fix for latest report in overview

* report/latest/<node_name> uses limit parameter in _query
  to get just one report
* disable "Latest Report" button if there is no report
* HTTP Status 500 if there is no report on report/latest/<node_name>
This commit is contained in:
Julius Härtl
2013-11-20 11:30:08 +01:00
parent dcf8abefe9
commit 08bad89041
2 changed files with 15 additions and 5 deletions

View File

@@ -203,11 +203,15 @@ def report_latest(node_name):
as long as PuppetDB can't filter reports for latest-report? field. This
feature has been requested: http://projects.puppetlabs.com/issues/21554
"""
# TODO: use limit parameter in _query to get just one report
node = get_or_abort(puppetdb.node, node_name)
reports = ten_reports(node.reports())
report = list(yield_or_stop(reports))[0]
return redirect(url_for('report', node=node_name, report_id=report))
reports = get_or_abort(puppetdb._query, 'reports',
query='["=","certname","' + node_name + '"]',
limit=1)
if len(reports) > 0:
report = reports[0]['hash']
return redirect(url_for('report', node=node_name, report_id=report))
else:
abort(500)
@app.route('/report/<node>/<report_id>')