From 82c741033d6377303de1e0420d9a9f430491a6a5 Mon Sep 17 00:00:00 2001 From: Eli Ribble Date: Fri, 26 May 2023 09:52:01 -0700 Subject: [PATCH] Show existing relays on relay creation page. This both shows the relays that we already have assigned and removes existing pins from the list to choose from. It also alphabetizes for easy reading by the human. --- pnpdevice/server.py | 7 +++++-- templates/relay-create.template.html | 9 +++++++++ 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/pnpdevice/server.py b/pnpdevice/server.py index 24b48d6..f2c63fd 100644 --- a/pnpdevice/server.py +++ b/pnpdevice/server.py @@ -37,10 +37,13 @@ def index(request: Request): def relay_create_get(request: Request): "Get the form to create a new relay." relays.load_all_pins() - pins = relays.pins + used_pin_names = {relay.pin.name for relay in relays} + pins = [p for p in relays.pins if p.name not in used_pin_names] + sorted_pins = sorted(pins, key=lambda p: p.name) return templates.TemplateResponse("relay-create.template.html", { + "relays": relays, "request": request, - "pins": pins, + "pins": sorted_pins, }) @app.post("/relay/create") diff --git a/templates/relay-create.template.html b/templates/relay-create.template.html index 84e5dc0..181f453 100644 --- a/templates/relay-create.template.html +++ b/templates/relay-create.template.html @@ -1,5 +1,14 @@

Relay Creation

+

Existing relays

+ + + + {% for relay in relays %} + + {% endfor %} +
RelayPin
{{ relay.name }}{{ relay.pin.name }}
+