98 lines
4.3 KiB
HTML
98 lines
4.3 KiB
HTML
{% load custom_filters %}
|
|
|
|
<div class="table-responsive">
|
|
<table class="table table-hover">
|
|
<thead>
|
|
<tr>
|
|
<th scope="col"><strong>URL</strong></th>
|
|
<th scope="col"><strong>Fetch date</strong></th>
|
|
<th scope="col"><strong>Sources</strong></th>
|
|
<th scope="col"><strong>Search</strong></th>
|
|
<th scope="col"><strong>Status</strong></th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
{% for item in page_obj %}
|
|
<tr>
|
|
<td>
|
|
<a href="./{{ item.id }}" class="btn btn-primary btn-sm" target="_blank">➤ </a>
|
|
<a href="{{ item.url }}/" target="_blank">{{ item.url }}</a>
|
|
</td>
|
|
<td class="timestamp" data-ts="{{ item.ts_fetch|date:'c' }}">{{ item.ts_fetch }}</td>
|
|
<td>
|
|
{% with sources_map|dict_get:item.id as sources %}
|
|
{% if sources %}
|
|
{% for source in sources %}
|
|
<span class="badge bg-secondary">{{ source }}</span>
|
|
{% endfor %}
|
|
{% else %}
|
|
<span class="text-muted">No sources</span>
|
|
{% endif %}
|
|
{% endwith %}
|
|
</td>
|
|
<td>
|
|
{% with searches_map|dict_get:item.id as searches %}
|
|
{% if searches %}
|
|
{% for search in searches %}
|
|
<span class="badge bg-secondary">{{ search }}</span>
|
|
{% endfor %}
|
|
{% else %}
|
|
<span class="text-muted">No searches</span>
|
|
{% endif %}
|
|
{% endwith %}
|
|
</td>
|
|
<td>
|
|
{% if item.status == 'raw' %}
|
|
<span class="badge bg-secondary">{{ item.status|capfirst }}</span>
|
|
{% elif item.status == 'error' %}
|
|
<span class="badge bg-danger">{{ item.status|capfirst }}</span>
|
|
{% elif item.status == 'valid' %}
|
|
<span class="badge bg-success">{{ item.status|capfirst }}</span>
|
|
{% elif item.status == 'unknown' %}
|
|
<span class="badge bg-warning">{{ item.status|capfirst }}</span>
|
|
{% elif item.status == 'invalid' %}
|
|
<span class="badge bg-danger">{{ item.status|capfirst }}</span>
|
|
{% elif item.status == 'duplicate' %}
|
|
<span class="badge bg-info">{{ item.status|capfirst }}</span>
|
|
{% else %}
|
|
<span class="badge bg-light">Unknown</span>
|
|
{% endif %}
|
|
</td>
|
|
</tr>
|
|
{% empty %}
|
|
<tr>
|
|
<td colspan="4" class="text-center">No items available.</td>
|
|
</tr>
|
|
{% endfor %}
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
|
|
<div class="d-flex justify-content-center mt-3">
|
|
<nav>
|
|
<ul class="pagination">
|
|
{% if page_obj.has_previous %}
|
|
<li class="page-item">
|
|
<a class="page-link" href="#" data-page="1">First</a>
|
|
</li>
|
|
<li class="page-item">
|
|
<a class="page-link" href="#" data-page="{{ page_obj.previous_page_number }}">Previous</a>
|
|
</li>
|
|
{% endif %}
|
|
|
|
<li class="page-item active">
|
|
<span class="page-link">Page {{ page_obj.number }} of {{ page_obj.paginator.num_pages }}</span>
|
|
</li>
|
|
|
|
{% if page_obj.has_next %}
|
|
<li class="page-item">
|
|
<a class="page-link" href="#" data-page="{{ page_obj.next_page_number }}">Next</a>
|
|
</li>
|
|
<li class="page-item">
|
|
<a class="page-link" href="#" data-page="{{ page_obj.paginator.num_pages }}">Last</a>
|
|
</li>
|
|
{% endif %}
|
|
</ul>
|
|
</nav>
|
|
</div>
|