improve mesh forms and stuff
This commit is contained in:
parent
22027cc8af
commit
a46d2ce4f1
3 changed files with 12 additions and 17 deletions
|
@ -56,6 +56,11 @@
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
</p>
|
</p>
|
||||||
|
<p>
|
||||||
|
<a class="button" href="{% url "control.mesh.send" recipient=node.address msg_type="CONFIG_BOARD" %}">
|
||||||
|
{% trans 'Chaange board settings' %}
|
||||||
|
</a>
|
||||||
|
</p>
|
||||||
<h4>Firmware</h4>
|
<h4>Firmware</h4>
|
||||||
<p>
|
<p>
|
||||||
<strong>Firmware:</strong> {{ node.last_messages.CONFIG_FIRMWARE.parsed.app_desc.project_name }} {{ node.last_messages.CONFIG_FIRMWARE.parsed.version }} (IDF {{ node.last_messages.CONFIG_FIRMWARE.parsed.app_desc.idf_version }})
|
<strong>Firmware:</strong> {{ node.last_messages.CONFIG_FIRMWARE.parsed.app_desc.project_name }} {{ node.last_messages.CONFIG_FIRMWARE.parsed.version }} (IDF {{ node.last_messages.CONFIG_FIRMWARE.parsed.app_desc.idf_version }})
|
||||||
|
@ -91,16 +96,6 @@
|
||||||
{% trans 'Change' %}
|
{% trans 'Change' %}
|
||||||
</a>
|
</a>
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<h4>LED config</h4>
|
|
||||||
<p>
|
|
||||||
{{ node.last_messages.CONFIG_LED.parsed.led_config }}
|
|
||||||
</p>
|
|
||||||
<p>
|
|
||||||
<a class="button" href="{% url "control.mesh.send" recipient=node.address msg_type="CONFIG_LED" %}">
|
|
||||||
{% trans 'Change' %}
|
|
||||||
</a>
|
|
||||||
</p>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
|
@ -120,13 +120,18 @@ class MeshMessageSendView(ControlPanelMixin, FormView):
|
||||||
if 'recipient' in self.kwargs and self.msg_type.name.startswith('CONFIG_'):
|
if 'recipient' in self.kwargs and self.msg_type.name.startswith('CONFIG_'):
|
||||||
try:
|
try:
|
||||||
node = MeshNode.objects.get(address=self.kwargs['recipient'])
|
node = MeshNode.objects.get(address=self.kwargs['recipient'])
|
||||||
return {}
|
|
||||||
except MeshNode.DoesNotExist:
|
except MeshNode.DoesNotExist:
|
||||||
pass
|
pass
|
||||||
else:
|
else:
|
||||||
return MeshMessage.get_type(self.msg_type).tojson(
|
initial = MeshMessage.get_type(self.msg_type).tojson(
|
||||||
node.last_messages[self.msg_type].parsed
|
node.last_messages[self.msg_type].parsed
|
||||||
)
|
)
|
||||||
|
while keys := tuple(key for key, value in initial.items() if isinstance(value, dict)):
|
||||||
|
for key in keys:
|
||||||
|
subdict = initial.pop(key)
|
||||||
|
for subkey, value in subdict.items():
|
||||||
|
initial[key+"_"+subkey.removeprefix(key).lstrip('_')] = value
|
||||||
|
return initial
|
||||||
|
|
||||||
if 'address' in self.request.GET and self.msg_type == MeshMessageType.MESH_ROUTE_REQUEST:
|
if 'address' in self.request.GET and self.msg_type == MeshMessageType.MESH_ROUTE_REQUEST:
|
||||||
return {"address": self.request.GET["address"]}
|
return {"address": self.request.GET["address"]}
|
||||||
|
|
|
@ -248,11 +248,6 @@ class ConfigBoardMessageForm(MeshMessageForm):
|
||||||
|
|
||||||
return cleaned_data
|
return cleaned_data
|
||||||
|
|
||||||
def __init__(self, *args, initial=None, **kwargs):
|
|
||||||
if initial:
|
|
||||||
initial.update(initial.pop('led_config'))
|
|
||||||
super().__init__(*args, initial=initial, **kwargs)
|
|
||||||
|
|
||||||
|
|
||||||
class ConfigPositionMessageForm(MeshMessageForm):
|
class ConfigPositionMessageForm(MeshMessageForm):
|
||||||
msg_type = MeshMessageType.CONFIG_POSITION
|
msg_type = MeshMessageType.CONFIG_POSITION
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue