Merge pull request #3713 from TDT-AG/pr/20200303-luci-mod-network

luci-mod-network: extended interfaces.js for check if new interface i…
This commit is contained in:
Jo-Philipp Wich 2020-03-04 20:27:18 +01:00 committed by GitHub
commit 6c167ea880
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -760,24 +760,35 @@ return L.view.extend({
'class': 'cbi-button cbi-button-positive important', 'class': 'cbi-button cbi-button-positive important',
'click': ui.createHandlerFn(this, function(ev) { 'click': ui.createHandlerFn(this, function(ev) {
var nameval = name.isValid('_new_') ? name.formvalue('_new_') : null, var nameval = name.isValid('_new_') ? name.formvalue('_new_') : null,
protoval = proto.isValid('_new_') ? proto.formvalue('_new_') : null; protoval = proto.isValid('_new_') ? proto.formvalue('_new_') : null,
protoclass = protoval ? network.getProtocol(protoval) : null;
if (nameval == null || protoval == null || nameval == '' || protoval == '') if (nameval == null || protoval == null || nameval == '' || protoval == '')
return; return;
return m.save(function() { return protoclass.isCreateable(nameval).then(function(checkval) {
var section_id = uci.add('network', 'interface', nameval); if (checkval != null) {
ui.addNotification(null,
uci.set('network', section_id, 'proto', protoval); E('p', _('New interface for "%s" can not be created: %s').format(protoclass.getI18n(), checkval)));
ui.hideModal();
if (ifname_single.isActive('_new_')) { return;
uci.set('network', section_id, 'ifname', ifname_single.formvalue('_new_'));
} }
else if (ifname_multi.isActive('_new_')) {
uci.set('network', section_id, 'type', 'bridge'); return m.save(function() {
uci.set('network', section_id, 'ifname', L.toArray(ifname_multi.formvalue('_new_')).join(' ')); var section_id = uci.add('network', 'interface', nameval);
}
}).then(L.bind(m.children[0].renderMoreOptionsModal, m.children[0], nameval)); uci.set('network', section_id, 'proto', protoval);
if (ifname_single.isActive('_new_')) {
uci.set('network', section_id, 'ifname', 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(' '));
}
}).then(L.bind(m.children[0].renderMoreOptionsModal, m.children[0], nameval));
});
}) })
}, _('Create interface')) }, _('Create interface'))
]) ])