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 table = None
index = 0 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 job.data:
if 'log' in job.data: if 'log' in job.data:
@ -1130,8 +1130,8 @@ class ScriptResultView(TableMixin, generic.ObjectView):
tests = job.data['tests'] tests = job.data['tests']
for log in job.data['log']: for log in job.data['log']:
check_level = LOG_LEVEL_RANK.get(log.get('status'), LogLevelChoices.LOG_DEFAULT) log_level = LOG_LEVEL_RANK.get(log.get('status'), LogLevelChoices.LOG_DEFAULT)
if check_level >= log_level: if log_level >= log_threshold:
index += 1 index += 1
result = { result = {
'index': index, 'index': index,
@ -1153,8 +1153,8 @@ class ScriptResultView(TableMixin, generic.ObjectView):
for method, test_data in tests.items(): for method, test_data in tests.items():
if 'log' in test_data: if 'log' in test_data:
for time, status, obj, url, message in test_data['log']: for time, status, obj, url, message in test_data['log']:
check_level = LOG_LEVEL_RANK.get(status, LogLevelChoices.LOG_DEFAULT) log_level = LOG_LEVEL_RANK.get(status, LogLevelChoices.LOG_DEFAULT)
if check_level >= log_level: if log_level >= log_threshold:
index += 1 index += 1
result = { result = {
'index': index, 'index': index,
@ -1183,7 +1183,8 @@ class ScriptResultView(TableMixin, generic.ObjectView):
'script': job.object, 'script': job.object,
'job': job, 'job': job,
'table': table, '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: 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"> <div class="tab-pane show active" id="results" role="tabpanel" aria-labelledby="results-tab">
{# Object table controls #} {# 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"> <div class="px-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="dropdown"> <div class="dropdown">
<button class="btn btn-outline-secondary dropdown-toggle" type="button" id="dropdownLogLevelButton" data-bs-toggle="dropdown" aria-expanded="false"> <button class="btn btn-outline-secondary dropdown-toggle" type="button" data-bs-toggle="dropdown" aria-expanded="false">
{% trans "Show Log Level" %} {{ log_levels|get_key:log_threshold }}
</button> </button>
<ul class="dropdown-menu" aria-labelledby="dropdownLogLevelButton"> <div class="dropdown-menu">
<li><a class="dropdown-item" href="{% url 'extras:script_result' job_pk=job.pk %}">{% trans "All" %}</a></li> {% for level, name in log_levels.items %}
<li><a class="dropdown-item" href="{% url 'extras:script_result' job_pk=job.pk %}?log_level=debug">{% trans "Debug" %}</a></li> <a class="dropdown-item d-flex justify-content-between" href="{% url 'extras:script_result' job_pk=job.pk %}?log_threshold={{ level }}">
<li><a class="dropdown-item" href="{% url 'extras:script_result' job_pk=job.pk %}?log_level=success">{% trans "Success" %}</a></li> {{ name }}
<li><a class="dropdown-item" href="{% url 'extras:script_result' job_pk=job.pk %}?log_level=info">{% trans "Info" %}</a></li> {% if level == log_threshold %}<span class="badge bg-green ms-auto"></span>{% endif %}
<li><a class="dropdown-item" href="{% url 'extras:script_result' job_pk=job.pk %}?log_level=warning">{% trans "Warning" %}</a></li> </a>
<li><a class="dropdown-item" href="{% url 'extras:script_result' job_pk=job.pk %}?log_level=failure">{% trans "Failure" %}</a></li> {% endfor %}
</ul> </div>
</div> </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 %} {% if request.user.is_authenticated and job.completed %}
<div class="table-configure input-group"> <div class="table-configure input-group">
<button type="button" data-bs-toggle="modal" title="{% trans "Configure Table" %}" data-bs-target="#ObjectTable_config" <button type="button" data-bs-toggle="modal" title="{% trans "Configure Table" %}" data-bs-target="#ObjectTable_config"