luci-mod-network: migrate config to use "ports" option
LuCI supports only the newer method of specifying bridge ports using the
"ports" option. Offer users migration so they can configure their
network.
Example:
1. Before
config device
option name 'br-lan'
option type 'bridge'
list ifname 'lan1'
list ifname 'lan2'
list ifname 'lan3'
list ifname 'lan4'
2. After
config device
option name 'br-lan'
option type 'bridge'
list ports 'lan1'
list ports 'lan2'
list ports 'lan3'
list ports 'lan4'
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
(cherry picked from commit b8acde7f48
)
This commit is contained in:
parent
8303c2eac3
commit
482fc216ac
1 changed files with 16 additions and 2 deletions
|
@ -304,6 +304,12 @@ return view.extend({
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
|
deviceWithIfnameSections: function() {
|
||||||
|
return uci.sections('network', 'device').filter(function(ns) {
|
||||||
|
return ns.type == 'bridge' && !ns.ports && ns.ifname;
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
handleMigration: function(ev) {
|
handleMigration: function(ev) {
|
||||||
var interfaces = this.interfaceWithIfnameSections();
|
var interfaces = this.interfaceWithIfnameSections();
|
||||||
var tasks = [];
|
var tasks = [];
|
||||||
|
@ -323,6 +329,13 @@ return view.extend({
|
||||||
}));
|
}));
|
||||||
});
|
});
|
||||||
|
|
||||||
|
this.deviceWithIfnameSections().forEach(function(ds) {
|
||||||
|
tasks.push(uci.callSet('network', ds['.name'], {
|
||||||
|
'ifname': '',
|
||||||
|
'ports': L.toArray(ds.ifname)
|
||||||
|
}));
|
||||||
|
});
|
||||||
|
|
||||||
return Promise.all(tasks)
|
return Promise.all(tasks)
|
||||||
.then(L.bind(ui.changes.init, ui.changes))
|
.then(L.bind(ui.changes.init, ui.changes))
|
||||||
.then(L.bind(ui.changes.apply, ui.changes));
|
.then(L.bind(ui.changes.apply, ui.changes));
|
||||||
|
@ -331,7 +344,7 @@ return view.extend({
|
||||||
renderMigration: function() {
|
renderMigration: function() {
|
||||||
ui.showModal(_('Network bridge configuration migration'), [
|
ui.showModal(_('Network bridge configuration migration'), [
|
||||||
E('p', _('The existing network configuration needs to be changed for LuCI to function properly.')),
|
E('p', _('The existing network configuration needs to be changed for LuCI to function properly.')),
|
||||||
E('p', _('Upon pressing "Continue", bridges configuration will be moved from "interface" sections to "device" sections the network will be restarted to apply the updated configuration.')),
|
E('p', _('Upon pressing "Continue", bridges configuration will be updated and the network will be restarted to apply the updated configuration.')),
|
||||||
E('div', { 'class': 'right' },
|
E('div', { 'class': 'right' },
|
||||||
E('button', {
|
E('button', {
|
||||||
'class': 'btn cbi-button-action important',
|
'class': 'btn cbi-button-action important',
|
||||||
|
@ -341,7 +354,8 @@ return view.extend({
|
||||||
},
|
},
|
||||||
|
|
||||||
render: function(data) {
|
render: function(data) {
|
||||||
if (this.interfaceWithIfnameSections().length)
|
if (this.interfaceWithIfnameSections().length ||
|
||||||
|
this.deviceWithIfnameSections().length)
|
||||||
return this.renderMigration();
|
return this.renderMigration();
|
||||||
|
|
||||||
var dslModemType = data[0],
|
var dslModemType = data[0],
|
||||||
|
|
Loading…
Reference in a new issue