add firmware overview

This commit is contained in:
Laura Klünder 2023-11-06 14:34:33 +01:00
parent 61673603ea
commit e01e718356
4 changed files with 56 additions and 3 deletions

View file

@ -0,0 +1,38 @@
{% extends 'control/base.html' %}
{% load i18n %}
{% block heading %}{% trans 'Mesh Firmwares' %}{% endblock %}
{% block subcontent %}
<h4>Firmwares</h4>
{% include 'control/fragment_pagination.html' %}
<table>
<tr>
<th>{% trans 'Created' %}</th>
<th>{% trans 'Uploader' %}</th>
<th>{% trans 'Project Name' %}</th>
<th>{% trans 'Version' %}</th>
<th>{% trans 'IDF version' %}</th>
<th>{% trans 'Builds' %}</th>
</tr>
{% for firmware in firmwares %}
<tr>
<td>{{ firmware.created }}</td>
<td>{{ firmware.uploader }}</td>
<td>{{ firmware.project_name }}</td>
<td>{{ firmware.version }}</td>
<td>{{ firmware.idf_version }}</td>
<td>
{% for build in firmware.builds.all %}
{{ build.variant }} ({{ build.get_chip_display }})<br>
{% endfor %}
</td>
</tr>
{% endfor %}
</table>
{% include 'control/fragment_pagination.html' %}
{% endblock %}

View file

@ -11,6 +11,12 @@
{% trans 'View received messages' %}
</a>
</div>
<div>
<h4>View firmwares</h4>
<a class="button" href="{% url "control.mesh.firmwares" %}">
{% trans 'View firmwares' %}
</a>
</div>
<div>
<h4>Send messages</h4>
<form method="POST">

View file

@ -4,8 +4,8 @@ from c3nav.control.views.access import grant_access, grant_access_qr
from c3nav.control.views.announcements import announcement_detail, announcement_list
from c3nav.control.views.base import ControlPanelIndexView
from c3nav.control.views.mapupdates import map_updates
from c3nav.control.views.mesh import (MeshLogView, MeshMessageListView, MeshMessageSendingView, MeshMessageSendView,
MeshNodeDetailView, MeshNodeEditView, MeshNodeListView)
from c3nav.control.views.mesh import (MeshFirmwaresListView, MeshLogView, MeshMessageListView, MeshMessageSendingView,
MeshMessageSendView, MeshNodeDetailView, MeshNodeEditView, MeshNodeListView)
from c3nav.control.views.users import UserListView, user_detail
urlpatterns = [
@ -19,6 +19,7 @@ urlpatterns = [
path('mesh/', MeshNodeListView.as_view(), name='control.mesh.nodes'),
path('mesh/logs/', MeshLogView.as_view(), name='control.mesh.log'),
path('mesh/messages/', MeshMessageListView.as_view(), name='control.mesh.messages'),
path('mesh/firmwares/', MeshFirmwaresListView.as_view(), name='control.mesh.firmwares'),
path('mesh/<str:pk>/', MeshNodeDetailView.as_view(), name='control.mesh.node.detail'),
path('mesh/<str:pk>/edit/', MeshNodeEditView.as_view(), name='control.mesh.node.edit'),
path('mesh/message/sending/<uuid:uuid>/', MeshMessageSendingView.as_view(), name='control.mesh.sending'),

View file

@ -14,7 +14,7 @@ from c3nav.control.forms import MeshMessageFilterForm
from c3nav.control.views.base import ControlPanelMixin
from c3nav.mesh.forms import MeshMessageForm, MeshNodeForm
from c3nav.mesh.messages import MeshMessage, MeshMessageType
from c3nav.mesh.models import MeshNode, NodeMessage
from c3nav.mesh.models import FirmwareVersion, MeshNode, NodeMessage
from c3nav.mesh.utils import get_node_names, group_msg_type_choices
@ -187,3 +187,11 @@ class MeshLogView(ControlPanelMixin, TemplateView):
**super().get_context_data(),
"node_names": get_node_names(),
}
class MeshFirmwaresListView(ControlPanelMixin, ListView):
model = FirmwareVersion
template_name = "control/mesh_firmwares.html"
ordering = "-created"
context_object_name = "firmwares"
paginate_by = 20