Skip to content

Commit 9813f3b

Browse files
committed
Clean up custom script templates
1 parent 3203db0 commit 9813f3b

File tree

2 files changed

+104
-94
lines changed

2 files changed

+104
-94
lines changed

netbox/templates/extras/script.html

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,9 +40,11 @@
4040
{% endif %}
4141
<form action="" method="post" enctype="multipart/form-data" class="form form-horizontal">
4242
{% csrf_token %}
43-
<div class="field-group mb-3">
43+
<div class="field-group my-4">
4444
{% if form.requires_input %}
45-
<h4 class="text-center">Script Data</h4>
45+
<div class="row mb-2">
46+
<h5 class="offset-sm-3">Script Data</h5>
47+
</div>
4648
{% else %}
4749
<div class="alert alert-info">
4850
<i class="mdi mdi-information"></i>

netbox/templates/extras/script_result.html

Lines changed: 100 additions & 92 deletions
Original file line numberDiff line numberDiff line change
@@ -4,105 +4,113 @@
44
{% load log_levels %}
55
{% load static %}
66

7-
{% block title %}{{ script }} <span id="pending-result-label">{% include 'extras/inc/job_label.html' with result=result %}</span>{% endblock %}
8-
97
{% block head %}
108
<script src="{% static 'jobs.js' %}?v{{ settings.VERSION }}"
119
onerror="window.location='{% url 'media_failure' %}?filename=jobs.js'"></script>
1210
{% endblock %}
1311

14-
{% block content %}
15-
<div class="row noprint">
16-
<div class="col col-md-12">
17-
<nav class="breadcrumb-container" aria-label="breadcrumb">
18-
<ol class="breadcrumb">
19-
<li class="breadcrumb-item"><a href="{% url 'extras:script_list' %}">Scripts</a></li>
20-
<li class="breadcrumb-item"><a href="{% url 'extras:script_list' %}#module.{{ script.module }}">{{ script.module|bettertitle }}</a></li>
21-
<li class="breadcrumb-item"><a href="{% url 'extras:script' module=script.module name=class_name %}">{{ script }}</a></li>
22-
<li class="breadcrumb-item">{{ result.created|annotated_date }}</li>
23-
</ol>
24-
</nav>
25-
</div>
26-
</div>
27-
<p class="text-muted">{{ script.Meta.description|render_markdown }}</p>
28-
<ul class="nav nav-tabs" role="tablist">
29-
<li class="nav-item" role="presentation">
30-
<a href="#log" role="tab" data-bs-toggle="tab" class="nav-link active">Log</a>
31-
</li>
32-
<li class="nav-item" role="presentation">
33-
<a href="#output" role="tab" data-bs-toggle="tab" class="nav-link">Output</a>
34-
</li>
35-
<li class="nav-item" role="presentation">
36-
<a href="#source" role="tab" data-bs-toggle="tab" class="nav-link">Source</a>
37-
</li>
38-
</ul>
39-
<div class="tab-content my-3">
40-
<p>
41-
Run: <strong>{{ result.created|annotated_date }}</strong>
42-
{% if result.completed %}
43-
Duration: <strong>{{ result.duration }}</strong>
44-
{% else %}
45-
<div class="spinner-border" role="status">
46-
<span class="visually-hidden">Loading...</span>
47-
</div>
48-
{% endif %}
49-
</p>
50-
<div role="tabpanel" class="tab-pane active" id="log">
51-
{% if result.completed %}
52-
<div class="row">
53-
<div class="col col-md-12">
54-
<div class="card">
55-
<h5 class="card-header">
56-
Script Log
57-
</h5>
58-
<div class="card-body">
59-
<table class="table table-hover panel-body">
60-
<tr>
61-
<th>Line</th>
62-
<th>Level</th>
63-
<th>Message</th>
64-
</tr>
65-
{% for log in result.data.log %}
66-
<tr>
67-
<td>{{ forloop.counter }}</td>
68-
<td>{% log_level log.status %}</td>
69-
<td class="rendered-markdown">{{ log.message|render_markdown }}</td>
70-
</tr>
71-
{% empty %}
72-
<tr>
73-
<td colspan="3" class="text-center text-muted">
74-
No log output
75-
</td>
76-
</tr>
77-
{% endfor %}
78-
</table>
79-
</div>
80-
{% if execution_time %}
81-
<div class="card-footer text-end text-muted">
82-
<small>Exec Time: {{ execution_time|floatformat:3 }}s</small>
83-
</div>
84-
{% endif %}
85-
</div>
86-
</div>
87-
</div>
88-
{% else %}
89-
<div class="row">
90-
<div class="col col-md-12">
91-
<div class="well">Pending Results</div>
92-
</div>
93-
</div>
94-
{% endif %}
95-
</div>
96-
<div role="tabpanel" class="tab-pane" id="output">
97-
<pre>{{ result.data.output }}</pre>
98-
</div>
99-
<div role="tabpanel" class="tab-pane" id="source">
100-
<p><code>{{ script.filename }}</code></p>
101-
<pre>{{ script.source }}</pre>
102-
</div>
103-
</div>
12+
{% block title %}{{ script }}{% endblock %}
13+
14+
{% block subtitle %}
15+
{{ script.Meta.description|render_markdown }}
16+
<span id="pending-result-label">{% include 'extras/inc/job_label.html' with result=result %}</span>
10417
{% endblock %}
10518

19+
{% block header %}
20+
<div class="row noprint">
21+
<div class="col col-md-12">
22+
<nav class="breadcrumb-container px-3" aria-label="breadcrumb">
23+
<ol class="breadcrumb">
24+
<li class="breadcrumb-item"><a href="{% url 'extras:script_list' %}">Scripts</a></li>
25+
<li class="breadcrumb-item"><a href="{% url 'extras:script_list' %}#module.{{ script.module }}">{{ script.module|bettertitle }}</a></li>
26+
<li class="breadcrumb-item"><a href="{% url 'extras:script' module=script.module name=class_name %}">{{ script }}</a></li>
27+
<li class="breadcrumb-item">{{ result.created|annotated_date }}</li>
28+
</ol>
29+
</nav>
30+
</div>
31+
</div>
32+
{{ block.super }}
33+
{% endblock header %}
34+
35+
{% block content-wrapper %}
36+
<ul class="nav nav-tabs px-3" role="tablist">
37+
<li class="nav-item" role="presentation">
38+
<a href="#log" role="tab" data-bs-toggle="tab" class="nav-link active">Log</a>
39+
</li>
40+
<li class="nav-item" role="presentation">
41+
<a href="#output" role="tab" data-bs-toggle="tab" class="nav-link">Output</a>
42+
</li>
43+
<li class="nav-item" role="presentation">
44+
<a href="#source" role="tab" data-bs-toggle="tab" class="nav-link">Source</a>
45+
</li>
46+
</ul>
47+
<div class="tab-content mb-3">
48+
<p>
49+
Run: <strong>{{ result.created|annotated_date }}</strong>
50+
{% if result.completed %}
51+
Duration: <strong>{{ result.duration }}</strong>
52+
{% else %}
53+
<div class="spinner-border" role="status">
54+
<span class="visually-hidden">Loading...</span>
55+
</div>
56+
{% endif %}
57+
</p>
58+
<div role="tabpanel" class="tab-pane active" id="log">
59+
{% if result.completed %}
60+
<div class="row">
61+
<div class="col col-md-12">
62+
<div class="card">
63+
<h5 class="card-header">
64+
Script Log
65+
</h5>
66+
<div class="card-body">
67+
<table class="table table-hover panel-body">
68+
<tr>
69+
<th>Line</th>
70+
<th>Level</th>
71+
<th>Message</th>
72+
</tr>
73+
{% for log in result.data.log %}
74+
<tr>
75+
<td>{{ forloop.counter }}</td>
76+
<td>{% log_level log.status %}</td>
77+
<td class="rendered-markdown">{{ log.message|render_markdown }}</td>
78+
</tr>
79+
{% empty %}
80+
<tr>
81+
<td colspan="3" class="text-center text-muted">
82+
No log output
83+
</td>
84+
</tr>
85+
{% endfor %}
86+
</table>
87+
</div>
88+
{% if execution_time %}
89+
<div class="card-footer text-end text-muted">
90+
<small>Exec Time: {{ execution_time|floatformat:3 }}s</small>
91+
</div>
92+
{% endif %}
93+
</div>
94+
</div>
95+
</div>
96+
{% else %}
97+
<div class="row">
98+
<div class="col col-md-12">
99+
<div class="well">Pending Results</div>
100+
</div>
101+
</div>
102+
{% endif %}
103+
</div>
104+
<div role="tabpanel" class="tab-pane" id="output">
105+
<pre>{{ result.data.output }}</pre>
106+
</div>
107+
<div role="tabpanel" class="tab-pane" id="source">
108+
<p><code>{{ script.filename }}</code></p>
109+
<pre>{{ script.source }}</pre>
110+
</div>
111+
</div>
112+
{% endblock content-wrapper %}
113+
106114
{% block data %}
107115
<span data-job-id="{{ result.pk }}"></span>
108116
<span data-job-complete="{{ result.completed }}"></span>

0 commit comments

Comments
 (0)