remove node name

This commit is contained in:
Laura Klünder 2024-03-30 22:12:55 +01:00
parent bf9d113677
commit 1fcb68f426
7 changed files with 27 additions and 33 deletions

View file

@ -289,12 +289,6 @@ class OTAApplyMessageForm(MeshMessageForm):
reboot = forms.BooleanField(required=False, label=_('reboot'))
class MeshNodeForm(forms.ModelForm):
class Meta:
model = MeshNode
fields = ["name"]
class RangingForm(forms.Form):
msg_types = {}

View file

@ -0,0 +1,17 @@
# Generated by Django 5.0.1 on 2024-03-30 21:11
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('mesh', '0013_meshnode_upstream_alter_nodemessage_message_type'),
]
operations = [
migrations.RemoveField(
model_name='meshnode',
name='name',
),
]

View file

@ -256,7 +256,6 @@ class MeshNode(models.Model):
code='invalid_macaddress'
)])
name = models.CharField(_('name'), max_length=32, null=True, blank=True)
first_seen = models.DateTimeField(_('first seen'), auto_now_add=True)
uplink = models.ForeignKey('MeshUplink', models.PROTECT, null=True,
related_name='routed_nodes', verbose_name=_('uplink'))
@ -265,6 +264,12 @@ class MeshNode(models.Model):
last_signin = models.DateTimeField(_('last signin'), null=True)
objects = models.Manager.from_queryset(MeshNodeQuerySet)()
@property
def name(self):
node_message = self.last_messages[MeshMessageType.CONFIG_NODE]
if node_message:
return f"{node_message.parsed.content.number} {node_message.parsed.content.name}".strip()
def __str__(self):
if self.name:
return '%s (%s)' % (self.address, self.name)

View file

@ -45,9 +45,6 @@
<br>
</p>
<p>
<a class="button" href="{% url "mesh.node.edit" pk=node.pk %}">
{% trans 'Edit' %}
</a>
<a class="button" href="{% url "mesh.messages" %}?src_nodes={{ node.address }}">
{% trans 'View messages' %}
</a>

View file

@ -5,7 +5,7 @@ from c3nav.mesh.views.firmware import (FirmwareBuildDetailView, FirmwareDetailVi
FirmwaresListView, OTADetailView, OTAListView)
from c3nav.mesh.views.messages import MeshMessageListView, MeshMessageSendingView, MeshMessageSendView
from c3nav.mesh.views.misc import MeshLogView, MeshRangingView
from c3nav.mesh.views.nodes import NodeDetailView, NodeEditView, NodeListView
from c3nav.mesh.views.nodes import NodeDetailView, NodeListView
urlpatterns = [
path('', NodeListView.as_view(), name='mesh.nodes'),
@ -19,7 +19,6 @@ urlpatterns = [
path('ota/all/', OTAListView.as_view(all=True), name='mesh.ota.list.all'),
path('ota/<int:pk>/', OTADetailView.as_view(), name='mesh.ota.detail'),
path('nodes/<str:pk>/', NodeDetailView.as_view(), name='mesh.node.detail'),
path('nodes/<str:pk>/edit/', NodeEditView.as_view(), name='mesh.node.edit'),
path('message/sending/<uuid:uuid>/', MeshMessageSendingView.as_view(), name='mesh.sending'),
path('message/<str:recipient>/<str:msg_type>/', MeshMessageSendView.as_view(), name='mesh.send'),
path('message/<str:msg_type>/', MeshMessageSendView.as_view(), name='mesh.send'),

View file

@ -17,8 +17,9 @@ def indent_c(code):
def get_node_names():
from c3nav.mesh.models import MeshNode
from c3nav.mesh.messages import MeshMessageType
return {
**{node.address: node.name for node in MeshNode.objects.all()},
**{node.address: node.name for node in MeshNode.objects.prefetch_last_messages(MeshMessageType.CONFIG_NODE)},
'ff:ff:ff:ff:ff:ff': "broadcast",
'00:00:00:ff:ff:ff': "direct parent",
'00:00:00:00:00:00': "root",

View file

@ -1,9 +1,5 @@
from django.contrib.messages.views import SuccessMessageMixin
from django.urls import reverse
from django.utils.translation import gettext_lazy as _
from django.views.generic import DetailView, ListView, UpdateView
from django.views.generic import DetailView, ListView
from c3nav.mesh.forms import MeshNodeForm
from c3nav.mesh.models import MeshNode
from c3nav.mesh.views.base import MeshControlMixin
@ -28,18 +24,3 @@ class NodeDetailView(MeshControlMixin, DetailView):
def get_queryset(self):
return super().get_queryset().prefetch_last_messages().prefetch_firmwares().select_related("upstream")
class NodeEditView(MeshControlMixin, SuccessMessageMixin, UpdateView):
model = MeshNode
form_class = MeshNodeForm
template_name = "control/form.html"
success_message = _('Name updated successfully')
def get_context_data(self, **kwargs):
return {
**super().get_context_data(),
'title': _('Editing mesh node: %s') % self.get_object(),
}
def get_success_url(self):
return reverse('mesh.node.detail', kwargs={'pk': self.get_object().pk})