mirror of
https://github.com/netbox-community/netbox.git
synced 2025-07-22 03:56:53 -06:00
Clean up report & script templates
This commit is contained in:
parent
17ba0a97d5
commit
8af12b22bb
@ -1,81 +1,73 @@
|
|||||||
{% load helpers %}
|
{% load helpers %}
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
Run: <strong>{{ result.created|annotated_date }}</strong>
|
Initiated: <strong>{{ result.created|annotated_date }}</strong>
|
||||||
{% if result.completed %}
|
{% if result.completed %}
|
||||||
Duration: <strong>{{ result.duration }}</strong>
|
Duration: <strong>{{ result.duration }}</strong>
|
||||||
{% else %}
|
{% endif %}
|
||||||
<div class="spinner-border" role="status">
|
<span id="pending-result-label">{% include 'extras/inc/job_label.html' %}</span>
|
||||||
<span class="visually-hidden">Loading...</span>
|
|
||||||
</div>
|
|
||||||
{% endif %}
|
|
||||||
<span id="pending-result-label">{% include 'extras/inc/job_label.html' with result=result %}</span>
|
|
||||||
</p>
|
</p>
|
||||||
{% if result.completed %}
|
{% if result.completed %}
|
||||||
<div class="card">
|
<div class="card">
|
||||||
<h5 class="card-header">
|
<h5 class="card-header">Report Methods</h5>
|
||||||
Report Methods
|
<div class="card-body">
|
||||||
</h5>
|
<table class="table table-hover">
|
||||||
<div class="card-body">
|
{% for method, data in result.data.items %}
|
||||||
<table class="table table-hover">
|
<tr>
|
||||||
{% for method, data in result.data.items %}
|
<td class="font-monospace"><a href="#{{ method }}">{{ method }}</a></td>
|
||||||
<tr>
|
<td class="text-end report-stats">
|
||||||
<td class="font-monospace"><a href="#{{ method }}">{{ method }}</a></td>
|
<span class="badge bg-success">{{ data.success }}</span>
|
||||||
<td class="text-end report-stats">
|
<span class="badge bg-info">{{ data.info }}</span>
|
||||||
<span class="badge bg-success">{{ data.success }}</span>
|
<span class="badge bg-warning">{{ data.warning }}</span>
|
||||||
<span class="badge bg-info">{{ data.info }}</span>
|
<span class="badge bg-danger">{{ data.failure }}</span>
|
||||||
<span class="badge bg-warning">{{ data.warning }}</span>
|
</td>
|
||||||
<span class="badge bg-danger">{{ data.failure }}</span>
|
</tr>
|
||||||
</td>
|
{% endfor %}
|
||||||
</tr>
|
</table>
|
||||||
{% endfor %}
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="card">
|
</div>
|
||||||
<h5 class="card-header">
|
<div class="card">
|
||||||
Report Results
|
<h5 class="card-header">Report Results</h5>
|
||||||
</h5>
|
<div class="card-body">
|
||||||
<div class="card-body">
|
<table class="table table-hover report">
|
||||||
<table class="table table-hover report">
|
<thead>
|
||||||
<thead>
|
<tr class="table-headings">
|
||||||
<tr class="table-headings">
|
<th>Time</th>
|
||||||
<th>Time</th>
|
<th>Level</th>
|
||||||
<th>Level</th>
|
<th>Object</th>
|
||||||
<th>Object</th>
|
<th>Message</th>
|
||||||
<th>Message</th>
|
</tr>
|
||||||
</tr>
|
</thead>
|
||||||
</thead>
|
<tbody>
|
||||||
<tbody>
|
{% for method, data in result.data.items %}
|
||||||
{% for method, data in result.data.items %}
|
<tr>
|
||||||
<tr>
|
<th colspan="4" style="font-family: monospace">
|
||||||
<th colspan="4" style="font-family: monospace">
|
<a name="{{ method }}"></a>{{ method }}
|
||||||
<a name="{{ method }}"></a>{{ method }}
|
</th>
|
||||||
</th>
|
</tr>
|
||||||
</tr>
|
{% for time, level, obj, url, message in data.log %}
|
||||||
{% for time, level, obj, url, message in data.log %}
|
<tr class="{% if level == 'failure' %}danger{% elif level %}{{ level }}{% endif %}">
|
||||||
<tr class="{% if level == 'failure' %}danger{% elif level %}{{ level }}{% endif %}">
|
<td>{{ time }}</td>
|
||||||
<td>{{ time }}</td>
|
<td>
|
||||||
<td>
|
<label class="badge bg-{% if level == 'failure' %}danger{% else %}{{ level }}{% endif %}">{{ level|title }}</label>
|
||||||
<label class="badge bg-{% if level == 'failure' %}danger{% else %}{{ level }}{% endif %}">{{ level|title }}</label>
|
</td>
|
||||||
</td>
|
<td>
|
||||||
<td>
|
{% if obj and url %}
|
||||||
{% if obj and url %}
|
<a href="{{ url }}">{{ obj }}</a>
|
||||||
<a href="{{ url }}">{{ obj }}</a>
|
{% elif obj %}
|
||||||
{% elif obj %}
|
{{ obj }}
|
||||||
{{ obj }}
|
{% else %}
|
||||||
{% else %}
|
<span class="muted">—</span>
|
||||||
<span class="muted">—</span>
|
{% endif %}
|
||||||
{% endif %}
|
</td>
|
||||||
</td>
|
<td class="rendered-markdown">{{ message|render_markdown }}</td>
|
||||||
<td class="rendered-markdown">{{ message|render_markdown }}</td>
|
</tr>
|
||||||
</tr>
|
{% endfor %}
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
{% endfor %}
|
</tbody>
|
||||||
</tbody>
|
</table>
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
{% else %}
|
{% else %}
|
||||||
<div class="well">Pending results</div>
|
{% include 'extras/inc/result_pending.html' %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
@ -1,13 +1,14 @@
|
|||||||
{% load helpers %}
|
{% load helpers %}
|
||||||
{% load log_levels %}
|
{% load log_levels %}
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Initiated: <strong>{{ result.created|annotated_date }}</strong>
|
||||||
|
{% if result.completed %}
|
||||||
|
Duration: <strong>{{ result.duration }}</strong>
|
||||||
|
{% endif %}
|
||||||
|
<span id="pending-result-label">{% include 'extras/inc/job_label.html' %}</span>
|
||||||
|
</p>
|
||||||
{% if result.completed %}
|
{% if result.completed %}
|
||||||
<p>
|
|
||||||
Run: <strong>{{ result.created|annotated_date }}</strong>
|
|
||||||
{% if result.completed %}
|
|
||||||
Duration: <strong>{{ result.duration }}</strong>
|
|
||||||
{% endif %}
|
|
||||||
</p>
|
|
||||||
<div class="card mb-3">
|
<div class="card mb-3">
|
||||||
<h5 class="card-header">Script Log</h5>
|
<h5 class="card-header">Script Log</h5>
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
@ -45,8 +46,5 @@
|
|||||||
<p class="text-muted">None</p>
|
<p class="text-muted">None</p>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% else %}
|
{% else %}
|
||||||
<div class="spinner-border" id="spinner" role="status">
|
{% include 'extras/inc/result_pending.html' %}
|
||||||
<span class="visually-hidden">Loading...</span>
|
|
||||||
</div>
|
|
||||||
<h3>Results pending...</h3>
|
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
6
netbox/templates/extras/inc/result_pending.html
Normal file
6
netbox/templates/extras/inc/result_pending.html
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
{# Indicates that a job result is still pending; used for HTMX requests #}
|
||||||
|
<div class="spinner-border float-start me-1" id="spinner" role="status">
|
||||||
|
<span class="visually-hidden">Loading...</span>
|
||||||
|
</div>
|
||||||
|
<h3>Results pending...</h3>
|
||||||
|
<small class="text-muted">Last updated {% now "H:i:s" %}</small>
|
@ -1,10 +1,8 @@
|
|||||||
{% extends 'extras/report.html' %}
|
{% extends 'extras/report.html' %}
|
||||||
{% load helpers %}
|
|
||||||
{% load static %}
|
|
||||||
|
|
||||||
{% block content-wrapper %}
|
{% block content-wrapper %}
|
||||||
<div class="row px-3">
|
<div class="row px-3">
|
||||||
<div class="col col-md-12" hx-get="{% url 'extras:report_result' job_result_pk=result.pk %}" hx-trigger="every 3s">
|
<div class="col col-md-12"{% if not result.completed %} hx-get="{% url 'extras:report_result' job_result_pk=result.pk %}" hx-trigger="every 3s"{% endif %}>
|
||||||
{% include 'extras/htmx/report_result.html' %}
|
{% include 'extras/htmx/report_result.html' %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -1,8 +1,5 @@
|
|||||||
{% extends 'base/layout.html' %}
|
{% extends 'base/layout.html' %}
|
||||||
{% load helpers %}
|
{% load helpers %}
|
||||||
{% load form_helpers %}
|
|
||||||
{% load log_levels %}
|
|
||||||
{% load static %}
|
|
||||||
|
|
||||||
{% block title %}{{ script }}{% endblock %}
|
{% block title %}{{ script }}{% endblock %}
|
||||||
|
|
||||||
@ -12,33 +9,33 @@
|
|||||||
|
|
||||||
{% block header %}
|
{% block header %}
|
||||||
<div class="row noprint">
|
<div class="row noprint">
|
||||||
<div class="col col-md-12">
|
<div class="col col-md-12">
|
||||||
<nav class="breadcrumb-container px-3" aria-label="breadcrumb">
|
<nav class="breadcrumb-container px-3" aria-label="breadcrumb">
|
||||||
<ol class="breadcrumb">
|
<ol class="breadcrumb">
|
||||||
<li class="breadcrumb-item"><a href="{% url 'extras:script_list' %}">Scripts</a></li>
|
<li class="breadcrumb-item"><a href="{% url 'extras:script_list' %}">Scripts</a></li>
|
||||||
<li class="breadcrumb-item"><a href="{% url 'extras:script_list' %}#module.{{ script.module }}">{{ script.module|bettertitle }}</a></li>
|
<li class="breadcrumb-item"><a href="{% url 'extras:script_list' %}#module.{{ script.module }}">{{ script.module|bettertitle }}</a></li>
|
||||||
<li class="breadcrumb-item"><a href="{% url 'extras:script' module=script.module name=class_name %}">{{ script }}</a></li>
|
<li class="breadcrumb-item"><a href="{% url 'extras:script' module=script.module name=class_name %}">{{ script }}</a></li>
|
||||||
<li class="breadcrumb-item">{{ result.created|annotated_date }}</li>
|
<li class="breadcrumb-item">{{ result.created|annotated_date }}</li>
|
||||||
</ol>
|
</ol>
|
||||||
</nav>
|
</nav>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{{ block.super }}
|
{{ block.super }}
|
||||||
{% endblock header %}
|
{% endblock header %}
|
||||||
|
|
||||||
{% block content-wrapper %}
|
{% block content-wrapper %}
|
||||||
<ul class="nav nav-tabs px-3" role="tablist">
|
<ul class="nav nav-tabs px-3" role="tablist">
|
||||||
<li class="nav-item" role="presentation">
|
<li class="nav-item" role="presentation">
|
||||||
<a href="#log" role="tab" data-bs-toggle="tab" class="nav-link active">Log</a>
|
<a href="#log" role="tab" data-bs-toggle="tab" class="nav-link active">Log</a>
|
||||||
</li>
|
</li>
|
||||||
<li class="nav-item" role="presentation">
|
<li class="nav-item" role="presentation">
|
||||||
<a href="#source" role="tab" data-bs-toggle="tab" class="nav-link">Source</a>
|
<a href="#source" role="tab" data-bs-toggle="tab" class="nav-link">Source</a>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
<div class="tab-content mb-3">
|
<div class="tab-content mb-3">
|
||||||
<div role="tabpanel" class="tab-pane active" id="log">
|
<div role="tabpanel" class="tab-pane active" id="log">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col col-md-12" hx-get="{% url 'extras:script_result' job_result_pk=result.pk %}" hx-trigger="every 3s">
|
<div class="col col-md-12"{% if not result.completed %} hx-get="{% url 'extras:script_result' job_result_pk=result.pk %}" hx-trigger="every 3s"{% endif %}>
|
||||||
{% include 'extras/htmx/script_result.html' %}
|
{% include 'extras/htmx/script_result.html' %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
Loading…
Reference in New Issue
Block a user