43 lines
1.6 KiB
HTML
43 lines
1.6 KiB
HTML
{% extends 'base.html' %}
|
|
{% block title %}Analysis Runs - TLS Analyzer{% endblock %}
|
|
{% block content %}
|
|
<div class="card">
|
|
<h2>All Analysis Runs</h2>
|
|
{% if runs %}
|
|
<table>
|
|
<thead>
|
|
<tr>
|
|
<th>ID</th>
|
|
<th>Started</th>
|
|
<th>Status</th>
|
|
<th>CSV Glob</th>
|
|
<th>Entities</th>
|
|
<th>Clusters</th>
|
|
<th></th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
{% for run in runs %}
|
|
<tr>
|
|
<td>#{{ run.id }}</td>
|
|
<td>{{ run.created_at|date:"Y-m-d H:i" }}</td>
|
|
<td><span class="badge {% if run.status == 'completed' %}badge-success{% elif run.status == 'failed' %}badge-danger{% else %}badge-info{% endif %}">{{ run.get_status_display }}</span></td>
|
|
<td style="max-width:300px;overflow:hidden;text-overflow:ellipsis;">{{ run.csv_glob }}</td>
|
|
<td>{{ run.entity_count|default:"-" }}</td>
|
|
<td>{{ run.cluster_count|default:"-" }}</td>
|
|
<td><a href="{% url 'analysis:run_detail' run.id %}" class="btn btn-primary">Detail</a></td>
|
|
</tr>
|
|
{% endfor %}
|
|
</tbody>
|
|
</table>
|
|
<div class="pagination">
|
|
{% if page > 1 %}<a href="?page={{ page|add:-1 }}">← Prev</a>{% endif %}
|
|
<span class="active">{{ page }}</span>
|
|
{% if page < total_pages %}<a href="?page={{ page|add:1 }}">Next →</a>{% endif %}
|
|
</div>
|
|
{% else %}
|
|
<div class="empty-state"><p>No runs yet.</p></div>
|
|
{% endif %}
|
|
</div>
|
|
{% endblock %}
|