Localization and several UI changes #51

Open
rskthomas wants to merge 55 commits from ux-changes_rebase into main
2 changed files with 58 additions and 10 deletions
Showing only changes of commit 65d5b48a2e - Show all commits

View file

@ -25,4 +25,39 @@
</tbody>
</table>
</div>
<nav aria-label="Page navigation">
<ul class="pagination justify-content-center">
{% if device_logs.has_previous %}
<li class="page-item">
<a class="page-link" href="?page=1" aria-label="First">
<span aria-hidden="true">&laquo; First</span>
</a>
</li>
<li class="page-item">
<a class="page-link" href="?page={{ device_logs.previous_page_number }}" aria-label="Previous">
<span aria-hidden="true">&lsaquo; Previous</span>
</a>
</li>
{% endif %}
<li class="page-item active">
<span class="page-link">
Page {{ device_logs.number }} of {{ device_logs.paginator.num_pages }}
</span>
</li>
{% if device_logs.has_next %}
<li class="page-item">
<a class="page-link" href="?page={{ device_logs.next_page_number }}" aria-label="Next">
<span aria-hidden="true">Next &rsaquo;</span>
</a>
</li>
<li class="page-item">
<a class="page-link" href="?page={{ device_logs.paginator.num_pages }}" aria-label="Last">
<span aria-hidden="true">Last &raquo;</span>
</a>
</li>
{% endif %}
</ul>
</nav>
</div>

View file

@ -5,6 +5,7 @@ from django.http import JsonResponse
from django.conf import settings
from django.db import IntegrityError
from django.urls import reverse_lazy
from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger
from django.contrib import messages
from django.shortcuts import get_object_or_404, redirect, Http404
from django.utils.translation import gettext_lazy as _
@ -104,9 +105,21 @@ class DetailsView(DashboardView, TemplateView):
institution=self.request.user.institution
).order_by('order')
device_states = State.objects.filter(snapshot_uuid__in=uuids).order_by('-date')
device_logs = DeviceLog.objects.filter(
snapshot_uuid__in=uuids).order_by('-date')
device_notes = Note.objects.filter(snapshot_uuid__in=uuids).order_by('-date')
# Paginate device_logs
# TODO: when clicking pagination button, it reloads the page on the details tab, instead of the log one
device_logs_list = DeviceLog.objects.filter(snapshot_uuid__in=uuids).order_by('-date')
paginator = Paginator(device_logs_list, 10) # Show last 10 logs
page = self.request.GET.get('page')
try:
device_logs = paginator.page(page)
except PageNotAnInteger:
device_logs = paginator.page(1)
except EmptyPage:
device_logs = paginator.page(paginator.num_pages)
context.update({
'object': self.object,
'snapshot': last_evidence,