#13666: Add is_valid property to Report class

This commit is contained in:
Jeremy Stretch 2023-09-26 10:53:38 -04:00
parent e67624f042
commit f9ceaad284
3 changed files with 24 additions and 13 deletions

View File

@ -135,6 +135,13 @@ class Report(object):
def source(self):
return inspect.getsource(self.__class__)
@property
def is_valid(self):
"""
Indicates whether the report can be run.
"""
return bool(self.test_methods)
#
# Logging methods
#

View File

@ -8,15 +8,17 @@
{% if perms.extras.run_report %}
<div class="row">
<div class="col">
{% if not report.is_valid %}
<div class="alert alert-warning">
<i class="mdi mdi-alert"></i>
{% trans "This report is invalid and cannot be run." %}
</div>
{% endif %}
<form action="{% url 'extras:report' module=report.module name=report.class_name %}" method="post" class="form-object-edit">
{% csrf_token %}
{% render_form form %}
<div class="float-end">
<button type="submit" name="_run" class="btn btn-primary"
{% if not report.test_methods|length %}
disabled
{% endif %}
>
<button type="submit" name="_run" class="btn btn-primary"{% if not report.is_valid %} disabled{% endif %}>
{% if report.result %}
<i class="mdi mdi-replay"></i> {% trans "Run Again" %}
{% else %}

View File

@ -68,16 +68,18 @@
</td>
{% else %}
<td class="text-muted">{% trans "Never" %}</td>
{% if report.test_methods|length %}
<td>{{ ''|placeholder }}</td>
{% else %}
<td>
Invalid (no test methods found)
</td>
{% endif %}
<td>
{% if report.is_valid %}
{{ ''|placeholder }}
{% else %}
<span class="badge bg-danger" title="{% trans "Report has no test methods" %}">
{% trans "Invalid" %}
</span>
{% endif %}
</td>
{% endif %}
<td>
{% if perms.extras.run_report and report.test_methods|length %}
{% if perms.extras.run_report and report.is_valid %}
<div class="float-end noprint">
<form action="{% url 'extras:report' module=report.module name=report.class_name %}" method="post">
{% csrf_token %}