diff --git a/ara/templates/ajax/action.html b/ara/templates/ajax/action.html index 6d2611c4..629aa6fd 100644 --- a/ara/templates/ajax/action.html +++ b/ara/templates/ajax/action.html @@ -1,5 +1,5 @@ -{% if result.task.file -%} -{{ result.task.action }} +{% if file -%} +{{ action }} {% else -%} -{{ result.task.action }} +{{ action }} {% endif -%} \ No newline at end of file diff --git a/ara/templates/ajax/stats.html b/ara/templates/ajax/stats.html index eef4c812..b7bc8498 100644 --- a/ara/templates/ajax/stats.html +++ b/ara/templates/ajax/stats.html @@ -29,4 +29,4 @@ No host facts recorded for this host. {% endif %} {% endmacro %} -
{% if stat.host.facts -%}{{ stat.host.name }}{% else -%}{{ stat.host.name }}{% endif %}
\ No newline at end of file +
{% if host.facts -%}{{ host.name }}{% else -%}{{ host.name }}{% endif %}
\ No newline at end of file diff --git a/ara/templates/ajax/task_name.html b/ara/templates/ajax/task_name.html index e7f4f81f..d025158c 100644 --- a/ara/templates/ajax/task_name.html +++ b/ara/templates/ajax/task_name.html @@ -1,13 +1,13 @@ -{% macro render_tags(result) -%} +{% macro render_tags(tags) -%} This task has the following tags: {% endmacro %} -{% if result.task.tags and result.task.tags | from_json | length > 0 -%} -
{{ result.task.name }}
+{% if tags and tags | from_json | length > 0 -%} +
{{ name }}
{% else -%} -
{{ result.task.name }}
+
{{ name }}
{% endif -%} \ No newline at end of file diff --git a/ara/templates/ajax/task_status.html b/ara/templates/ajax/task_status.html index bb9fb000..53b28133 100644 --- a/ara/templates/ajax/task_status.html +++ b/ara/templates/ajax/task_status.html @@ -1 +1 @@ -{{ result.derived_status | upper }} \ No newline at end of file +{{ derived_status | upper }} \ No newline at end of file diff --git a/ara/views/reports.py b/ara/views/reports.py index 32df754e..4512f02e 100644 --- a/ara/views/reports.py +++ b/ara/views/reports.py @@ -25,6 +25,8 @@ from flask import redirect from flask import render_template from flask import url_for +YIELD_PER = 100 + reports = Blueprint('reports', __name__) @@ -117,7 +119,7 @@ def ajax_parameters(playbook): @reports.route('/reports/ajax/plays/.txt') def ajax_plays(playbook): plays = (models.Play.query - .filter(models.Play.playbook_id.in_([playbook]))) + .filter(models.Play.playbook_id == playbook)) if not utils.fast_count(plays): abort(404) @@ -128,7 +130,7 @@ def ajax_plays(playbook): results = dict() results['data'] = list() - for play in plays: + for play in plays.yield_per(YIELD_PER): name = u"{0}".format(play.name) start = date.render(date=play.time_start) end = date.render(date=play.time_end) @@ -141,7 +143,7 @@ def ajax_plays(playbook): @reports.route('/reports/ajax/records/.txt') def ajax_records(playbook): records = (models.Data.query - .filter(models.Data.playbook_id.in_([playbook]))) + .filter(models.Data.playbook_id == playbook)) if not utils.fast_count(records): abort(404) @@ -152,7 +154,7 @@ def ajax_records(playbook): results = dict() results['data'] = list() - for record in records: + for record in records.yield_per(YIELD_PER): key = record_key.render(record=record) value = record_value.render(record=record) @@ -165,7 +167,7 @@ def ajax_records(playbook): def ajax_results(playbook): task_results = (models.TaskResult.query .join(models.Task) - .filter(models.Task.playbook_id.in_([playbook]))) + .filter(models.Task.playbook_id == playbook)) if not utils.fast_count(task_results): abort(404) @@ -178,13 +180,16 @@ def ajax_results(playbook): results = dict() results['data'] = list() - for result in task_results: - name = name_cell.render(result=result) + for result in task_results.yield_per(YIELD_PER): + name = name_cell.render(tags=result.task.tags, name=result.task.name) host = result.host.name - action = action_link.render(result=result) + action = action_link.render(file=result.task.file, + lineno=result.task.lineno, + action=result.task.action) elapsed = time.render(time=result.task.offset_from_playbook) duration = time.render(time=result.duration) - status = task_status_link.render(result=result) + status = task_status_link.render(id=result.id, + derived_status=result.derived_status) results['data'].append([name, host, action, elapsed, duration, status]) return jsonify(results) @@ -193,7 +198,7 @@ def ajax_results(playbook): @reports.route('/reports/ajax/stats/.txt') def ajax_stats(playbook): stats = (models.Stats.query - .filter(models.Stats.playbook_id.in_([playbook]))) + .filter(models.Stats.playbook_id == playbook)) if not utils.fast_count(stats): abort(404) @@ -203,8 +208,8 @@ def ajax_stats(playbook): results = dict() results['data'] = list() - for stat in stats: - host = host_link.render(stat=stat) + for stat in stats.yield_per(YIELD_PER): + host = host_link.render(host=stat.host) ok = stat.ok if stat.ok >= 1 else 0 changed = stat.changed if stat.changed >= 1 else 0 failed = stat.failed if stat.failed >= 1 else 0