{% load humanize %} {% load helpers %} {% load log_levels %} {% load i18n %}

{% if job.started %} {% trans "Started" %}: {{ job.started|annotated_date }} {% elif job.scheduled %} {% trans "Scheduled for" %}: {{ job.scheduled|annotated_date }} ({{ job.scheduled|naturaltime }}) {% else %} {% trans "Created" %}: {{ job.created|annotated_date }} {% endif %} {% if job.completed %} {% trans "Duration" %}: {{ job.duration }} {% endif %} {% badge job.get_status_display job.get_status_color %}

{% if job.completed %} {# Script log. Legacy reports will not have this. #} {% if 'log' in job.data %}
{% trans "Log" %}
{% if job.data.log %} {% for log in job.data.log %} {% endfor %}
{% trans "Line" %} {% trans "Time" %} {% trans "Level" %} {% trans "Message" %}
{{ forloop.counter }} {{ log.time|placeholder }} {% log_level log.status %} {{ log.message|markdown }}
{% else %}
{% trans "None" %}
{% endif %}
{% endif %} {# Script output. Legacy reports will not have this. #} {% if 'output' in job.data %}
{% trans "Output" %}
{% if job.data.output %}
{{ job.data.output }}
{% else %}
{% trans "None" %}
{% endif %}
{% endif %} {# Test method logs (for legacy Reports) #} {% if tests %} {# Summary of test methods #}
{% trans "Test Summary" %}
{% for test, data in tests.items %} {% endfor %}
{{ test }} {{ data.success }} {{ data.info }} {{ data.warning }} {{ data.failure }}
{# Detailed results for individual tests #}
{% trans "Test Details" %}
{% for test, data in tests.items %} {% for time, level, obj, url, message in data.log %} {% endfor %} {% endfor %}
{% trans "Time" %} {% trans "Level" %} {% trans "Object" %} {% trans "Message" %}
{{ test }}
{{ time }} {% if obj and url %} {{ obj }} {% elif obj %} {{ obj }} {% else %} {{ ''|placeholder }} {% endif %} {{ message|markdown }}
{% endif %} {% elif job.started %} {% include 'extras/inc/result_pending.html' %} {% endif %}