diff --git a/app/backend/wol/consumers.py b/app/backend/wol/consumers.py index 59ce9a1e..d9b4b264 100644 --- a/app/backend/wol/consumers.py +++ b/app/backend/wol/consumers.py @@ -140,6 +140,7 @@ class WSConsumer(AsyncWebsocketConsumer): "ip": dev.ip, "mac": dev.mac, "netmask": dev.netmask, + "link": dev.link, "ports": [], "wake": { "enabled": False, @@ -186,6 +187,7 @@ class WSConsumer(AsyncWebsocketConsumer): "name": data["name"], "ip": data["ip"], "netmask": data["netmask"], + "link": data["link"], "shutdown_cmd": data["shutdown"]["command"] if data.get("shutdown") else "" } ) @@ -309,6 +311,7 @@ class WSConsumer(AsyncWebsocketConsumer): "ip": ip, "netmask": netmask, "mac": mac, + "link": "", "ports": [], "wake": { "enabled": False, diff --git a/app/backend/wol/models.py b/app/backend/wol/models.py index ab160d7b..889c467f 100644 --- a/app/backend/wol/models.py +++ b/app/backend/wol/models.py @@ -13,6 +13,7 @@ class Device(models.Model): ip = models.GenericIPAddressField() mac = models.CharField(max_length=17) netmask = models.CharField(max_length=15, default="255.255.255.0", blank=False, null=False) + link = models.URLField(blank=True, null=True) port = models.ManyToManyField(Port, blank=True) shutdown_cmd = models.TextField(null=True, blank=True) diff --git a/app/backend/wol/tasks.py b/app/backend/wol/tasks.py index 97783190..f2f944c9 100644 --- a/app/backend/wol/tasks.py +++ b/app/backend/wol/tasks.py @@ -37,6 +37,7 @@ class WolDevice: "mac": dev.mac, "netmask": dev.netmask, "up": False, + "link": dev.link, "ports": [], "wake": { "enabled": False, diff --git a/app/frontend/src/components/DeviceCard.svelte b/app/frontend/src/components/DeviceCard.svelte index f549a5e1..026ee1d1 100644 --- a/app/frontend/src/components/DeviceCard.svelte +++ b/app/frontend/src/components/DeviceCard.svelte @@ -113,7 +113,11 @@ -
{device.name}
+ {#if device.link} +
{device.name}
+ {:else} +
{device.name}
+ {/if}
{device.ip}