summaryrefslogtreecommitdiffhomepage
path: root/modules/luci-mod-network/htdocs
diff options
context:
space:
mode:
authorJo-Philipp Wich <jo@mein.io>2020-12-12 12:15:33 +0100
committerJo-Philipp Wich <jo@mein.io>2020-12-12 12:16:45 +0100
commit7b5b7fbcd63af14658ad234cd39c076a823e4629 (patch)
tree2e489bb373c10ec897df1b59d10662f1ad4eb933 /modules/luci-mod-network/htdocs
parentc121a43804684f165c5b0fe6a0e0eadbfd6bdaa4 (diff)
luci-mod-network: properly handle wireless devices when adding interfaces
Wireless device names must not be added as list/option ifname, but the network must be backreferenced in config wifi-iface instead in these cases. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Diffstat (limited to 'modules/luci-mod-network/htdocs')
-rw-r--r--modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js14
1 files changed, 8 insertions, 6 deletions
diff --git a/modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js b/modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js
index bee5753055..80b02c96fb 100644
--- a/modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js
+++ b/modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js
@@ -766,7 +766,7 @@ return view.extend({
'click': ui.createHandlerFn(this, function(ev) {
var nameval = name.isValid('_new_') ? name.formvalue('_new_') : null,
protoval = proto.isValid('_new_') ? proto.formvalue('_new_') : null,
- protoclass = protoval ? network.getProtocol(protoval) : null;
+ protoclass = protoval ? network.getProtocol(protoval, nameval) : null;
if (nameval == null || protoval == null || nameval == '' || protoval == '')
return;
@@ -780,16 +780,18 @@ return view.extend({
}
return m.save(function() {
- var section_id = uci.add('network', 'interface', nameval);
+ uci.add('network', 'interface', nameval);
- uci.set('network', section_id, 'proto', protoval);
+ protoclass.set('proto', protoval);
if (ifname_single.isActive('_new_')) {
- uci.set('network', section_id, 'ifname', ifname_single.formvalue('_new_'));
+ protoclass.addDevice(ifname_single.formvalue('_new_'));
}
else if (ifname_multi.isActive('_new_')) {
- uci.set('network', section_id, 'type', 'bridge');
- uci.set('network', section_id, 'ifname', L.toArray(ifname_multi.formvalue('_new_')).join(' '));
+ protoclass.set('type', 'bridge');
+ L.toArray(ifname_multi.formvalue('_new_')).map(function(dev) {
+ protoclass.addDevice(dev);
+ });
}
}).then(L.bind(m.children[0].renderMoreOptionsModal, m.children[0], nameval));