Clean up log threshold selector

This commit is contained in:
Jeremy Stretch 2024-06-25 09:54:14 -04:00
parent ae28d32135
commit 428dd159fc
2 changed files with 21 additions and 26 deletions

View File

@ -1122,7 +1122,7 @@ class ScriptResultView(TableMixin, generic.ObjectView):
table = None
index = 0
log_level = LOG_LEVEL_RANK.get(request.GET.get('log_level', LogLevelChoices.LOG_DEFAULT))
log_threshold = LOG_LEVEL_RANK.get(request.GET.get('log_threshold', LogLevelChoices.LOG_DEFAULT))
if job.data:
if 'log' in job.data:
@ -1130,8 +1130,8 @@ class ScriptResultView(TableMixin, generic.ObjectView):
tests = job.data['tests']
for log in job.data['log']:
check_level = LOG_LEVEL_RANK.get(log.get('status'), LogLevelChoices.LOG_DEFAULT)
if check_level >= log_level:
log_level = LOG_LEVEL_RANK.get(log.get('status'), LogLevelChoices.LOG_DEFAULT)
if log_level >= log_threshold:
index += 1
result = {
'index': index,
@ -1153,8 +1153,8 @@ class ScriptResultView(TableMixin, generic.ObjectView):
for method, test_data in tests.items():
if 'log' in test_data:
for time, status, obj, url, message in test_data['log']:
check_level = LOG_LEVEL_RANK.get(status, LogLevelChoices.LOG_DEFAULT)
if check_level >= log_level:
log_level = LOG_LEVEL_RANK.get(status, LogLevelChoices.LOG_DEFAULT)
if log_level >= log_threshold:
index += 1
result = {
'index': index,
@ -1183,7 +1183,8 @@ class ScriptResultView(TableMixin, generic.ObjectView):
'script': job.object,
'job': job,
'table': table,
'log_level': request.GET.get('log_level', None)
'log_levels': dict(LogLevelChoices),
'log_threshold': request.GET.get('log_threshold', LogLevelChoices.LOG_DEFAULT)
}
if job.data and 'log' in job.data:

View File

@ -42,32 +42,26 @@
<div class="tab-pane show active" id="results" role="tabpanel" aria-labelledby="results-tab">
{# Object table controls #}
<div class="row mb-3">
<div class="d-flex align-items-center mb-3">
<div>{% trans "Log threshold" %}</div>
<div class="col-2 d-print-none">
{% if log_level %}
<div class="mb-3">
<a href="{% url 'extras:script_result' job_pk=job.pk %}" class="badge rounded-pill text-bg-primary text-decoration-none me-1">
<i class="mdi mdi-close"></i> {{ log_level }}
</a>
</div>
{% endif %}
<div class="px-2 d-print-none">
<div class="dropdown">
<button class="btn btn-outline-secondary dropdown-toggle" type="button" id="dropdownLogLevelButton" data-bs-toggle="dropdown" aria-expanded="false">
{% trans "Show Log Level" %}
<button class="btn btn-outline-secondary dropdown-toggle" type="button" data-bs-toggle="dropdown" aria-expanded="false">
{{ log_levels|get_key:log_threshold }}
</button>
<ul class="dropdown-menu" aria-labelledby="dropdownLogLevelButton">
<li><a class="dropdown-item" href="{% url 'extras:script_result' job_pk=job.pk %}">{% trans "All" %}</a></li>
<li><a class="dropdown-item" href="{% url 'extras:script_result' job_pk=job.pk %}?log_level=debug">{% trans "Debug" %}</a></li>
<li><a class="dropdown-item" href="{% url 'extras:script_result' job_pk=job.pk %}?log_level=success">{% trans "Success" %}</a></li>
<li><a class="dropdown-item" href="{% url 'extras:script_result' job_pk=job.pk %}?log_level=info">{% trans "Info" %}</a></li>
<li><a class="dropdown-item" href="{% url 'extras:script_result' job_pk=job.pk %}?log_level=warning">{% trans "Warning" %}</a></li>
<li><a class="dropdown-item" href="{% url 'extras:script_result' job_pk=job.pk %}?log_level=failure">{% trans "Failure" %}</a></li>
</ul>
<div class="dropdown-menu">
{% for level, name in log_levels.items %}
<a class="dropdown-item d-flex justify-content-between" href="{% url 'extras:script_result' job_pk=job.pk %}?log_threshold={{ level }}">
{{ name }}
{% if level == log_threshold %}<span class="badge bg-green ms-auto"></span>{% endif %}
</a>
{% endfor %}
</div>
</div>
</div>
<div class="col-auto ms-auto d-print-none">
<div class="ms-auto d-print-none">
{% if request.user.is_authenticated and job.completed %}
<div class="table-configure input-group">
<button type="button" data-bs-toggle="modal" title="{% trans "Configure Table" %}" data-bs-target="#ObjectTable_config"