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 %}
|
||||
|
||||
</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>
|
||||
<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 }})
|
||||
|
@ -91,16 +96,6 @@
|
|||
{% trans 'Change' %}
|
||||
</a>
|
||||
</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>
|
||||
{% endblock %}
|
||||
|
|
|
@ -120,13 +120,18 @@ class MeshMessageSendView(ControlPanelMixin, FormView):
|
|||
if 'recipient' in self.kwargs and self.msg_type.name.startswith('CONFIG_'):
|
||||
try:
|
||||
node = MeshNode.objects.get(address=self.kwargs['recipient'])
|
||||
return {}
|
||||
except MeshNode.DoesNotExist:
|
||||
pass
|
||||
else:
|
||||
return MeshMessage.get_type(self.msg_type).tojson(
|
||||
initial = MeshMessage.get_type(self.msg_type).tojson(
|
||||
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:
|
||||
return {"address": self.request.GET["address"]}
|
||||
|
|
|
@ -248,11 +248,6 @@ class ConfigBoardMessageForm(MeshMessageForm):
|
|||
|
||||
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):
|
||||
msg_type = MeshMessageType.CONFIG_POSITION
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue