{% block heading %}{% endblock %}
+ {% block menu %} + ++ {% endblock %} + {% block subcontent %} + {% endblock %} +
diff --git a/src/c3nav/control/migrations/0010_userpermissions_mesh_control.py b/src/c3nav/control/migrations/0010_userpermissions_mesh_control.py new file mode 100644 index 00000000..452a1638 --- /dev/null +++ b/src/c3nav/control/migrations/0010_userpermissions_mesh_control.py @@ -0,0 +1,19 @@ +# Generated by Django 4.2.1 on 2023-11-09 14:35 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + dependencies = [ + ("control", "0009_django_4_0"), + ] + + operations = [ + migrations.AddField( + model_name="userpermissions", + name="mesh_control", + field=models.BooleanField( + default=False, verbose_name="can access mesh control" + ), + ), + ] diff --git a/src/c3nav/control/models.py b/src/c3nav/control/models.py index 808b08ab..8fb006d3 100644 --- a/src/c3nav/control/models.py +++ b/src/c3nav/control/models.py @@ -35,6 +35,8 @@ class UserPermissions(models.Model): limit_choices_to={'access_restriction': None}, verbose_name=_('can review reports belonging to')) + mesh_control = models.BooleanField(default=False, verbose_name=_('can access mesh control')) + api_secret = models.CharField(null=True, blank=True, max_length=64, verbose_name=_('API secret')) class Meta: diff --git a/src/c3nav/control/templates/control/base.html b/src/c3nav/control/templates/control/base.html index 862ae459..f69b507c 100644 --- a/src/c3nav/control/templates/control/base.html +++ b/src/c3nav/control/templates/control/base.html @@ -24,7 +24,7 @@ {% if request.user_permissions.manage_map_updates %} {% trans 'Map Updates' %} · {% endif %} - {% trans 'Mesh' %} · + {% trans 'Mesh' %} · {{ request.user.username }}
diff --git a/src/c3nav/control/templates/control/mesh_nodes.html b/src/c3nav/control/templates/control/mesh_nodes.html deleted file mode 100644 index b5d8e46a..00000000 --- a/src/c3nav/control/templates/control/mesh_nodes.html +++ /dev/null @@ -1,81 +0,0 @@ -{% extends 'control/base.html' %} -{% load i18n %} - -{% block heading %}{% trans 'Mesh' %}{% endblock %} - -{% block subcontent %} -{% trans 'Node' %} | -{% trans 'Chip' %} | -{% trans 'Firmware' %} | -{% trans 'Last msg' %} | -{% trans 'Last signin' %} | -{% trans 'Uplink' %} | -
---|---|---|---|---|---|
{{ node }} | -- {{ node.last_messages.CONFIG_BOARD.parsed.board_config.board.pretty_name }} - ({{ node.last_messages.CONFIG_HARDWARE.parsed.chip.pretty_name }} rev{{ node.last_messages.CONFIG_HARDWARE.parsed.revision_major }}.{{ node.last_messages.CONFIG_HARDWARE.parsed.revision_minor }}) - | -- {{ node.last_messages.CONFIG_FIRMWARE.parsed.app_desc.version }} - (IDF {{ node.last_messages.CONFIG_FIRMWARE.parsed.app_desc.idf_version }}) - | -- {% blocktrans trimmed with timesince=node.last_msg|timesince %} - {{ timesince }} ago - {% endblocktrans %} - | -- {% blocktrans trimmed with timesince=node.last_signin|timesince %} - {{ timesince }} ago - {% endblocktrans %} - | - {% comment %}todo: hide uplink if timed out{% endcomment %} - {% comment %}todo: more details{% endcomment %} -{% if node.uplink %}{{ node.uplink.node }}{% endif %} | -
Route to {{ msg_data.address }} {% if node_name %} ({{ node_name }}){% endif %}
+Route to {{ msg_data.address }} {% if node_name %} ({{ node_name }}){% endif %}
{% endif %}