luci-mod-network: fix device dependencies in add interface dialog
authorJo-Philipp Wich <jo@mein.io>
Mon, 31 May 2021 09:50:56 +0000 (11:50 +0200)
committerJo-Philipp Wich <jo@mein.io>
Mon, 31 May 2021 09:50:56 +0000 (11:50 +0200)
Commit b7f3cf66ca "luci-mod-network: drop support for *adding* legacy bridges"
dropped the protocol dependcies of the ifname/device selector in the add new
interface dialog.

Re-add the required dependencies and swap the order of the protocol and
device inputs while we're at it since latter depends on the former.

Fixes: b7f3cf66ca ("luci-mod-network: drop support for *adding* legacy bridges")
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js

index 54c7b6cb3d18e90404b6f6577d7a9830dd082769..08b1a218555df60beebf7787e15e288febde4b47 100644 (file)
@@ -962,15 +962,18 @@ return view.extend({
                                return true;
                        };
 
+                       proto = s2.option(form.ListValue, 'proto', _('Protocol'));
+                       proto.validate = name.validate;
+
                        device = s2.option(widgets.DeviceSelect, 'device', _('Device'));
                        device.noaliases = false;
                        device.optional = false;
 
-                       proto = s2.option(form.ListValue, 'proto', _('Protocol'));
-                       proto.validate = name.validate;
-
                        for (var i = 0; i < protocols.length; i++) {
                                proto.value(protocols[i].getProtocol(), protocols[i].getI18n());
+
+                               if (!protocols[i].isVirtual())
+                                       device.depends('proto', protocols[i].getProtocol());
                        }
 
                        m2.render().then(L.bind(function(nodes) {