Merge pull request #5374 from Ansuel/fix-wifi
luci-mod-status: some improvement to wifi status
This commit is contained in:
commit
b5464a3e60
1 changed files with 14 additions and 19 deletions
|
@ -48,21 +48,18 @@ return baseclass.extend({
|
||||||
ev.currentTarget.disabled = true;
|
ev.currentTarget.disabled = true;
|
||||||
ev.currentTarget.blur();
|
ev.currentTarget.blur();
|
||||||
|
|
||||||
|
/* Disconnect client before adding to maclist */
|
||||||
|
wifinet.disconnectClient(mac, true, 5, 60000);
|
||||||
|
|
||||||
if (exec == 'addlist') {
|
if (exec == 'addlist') {
|
||||||
var macs = [ mac ]
|
wifinet.maclist.push(mac);
|
||||||
|
|
||||||
for (var mac in this.iface_maclist) {
|
uci.set('wireless', wifinet.sid, 'maclist', wifinet.maclist);
|
||||||
macs.push(mac)
|
|
||||||
}
|
|
||||||
|
|
||||||
uci.set('wireless', wifinet.sid, 'maclist', macs);
|
|
||||||
|
|
||||||
return uci.save()
|
return uci.save()
|
||||||
.then(L.bind(L.ui.changes.init, L.ui.changes))
|
.then(L.bind(L.ui.changes.init, L.ui.changes))
|
||||||
.then(L.bind(L.ui.changes.displayChanges, L.ui.changes));
|
.then(L.bind(L.ui.changes.displayChanges, L.ui.changes));
|
||||||
}
|
}
|
||||||
|
|
||||||
wifinet.disconnectClient(mac, true, 5, 60000);
|
|
||||||
},
|
},
|
||||||
|
|
||||||
handleGetWPSStatus: function(wifinet) {
|
handleGetWPSStatus: function(wifinet) {
|
||||||
|
@ -121,7 +118,7 @@ return baseclass.extend({
|
||||||
|
|
||||||
var WPS_button = null;
|
var WPS_button = null;
|
||||||
|
|
||||||
if (this.isWPSEnabled[net.sid]) {
|
if (net.isWPSEnabled) {
|
||||||
if (net.wps_status == 'Active') {
|
if (net.wps_status == 'Active') {
|
||||||
WPS_button = E('button', {
|
WPS_button = E('button', {
|
||||||
'class' : 'cbi-button cbi-button-remove',
|
'class' : 'cbi-button cbi-button-remove',
|
||||||
|
@ -190,7 +187,7 @@ return baseclass.extend({
|
||||||
}, this, radios_networks_hints[i])));
|
}, this, radios_networks_hints[i])));
|
||||||
|
|
||||||
if (hasWPS && uci.get('wireless', radios_networks_hints[i].sid, 'wps_pushbutton') == '1') {
|
if (hasWPS && uci.get('wireless', radios_networks_hints[i].sid, 'wps_pushbutton') == '1') {
|
||||||
this.isWPSEnabled[radios_networks_hints[i].sid] = true;
|
radios_networks_hints[i].isWPSEnabled = true;
|
||||||
tasks.push(L.resolveDefault(this.handleGetWPSStatus(radios_networks_hints[i].getIfname()), null)
|
tasks.push(L.resolveDefault(this.handleGetWPSStatus(radios_networks_hints[i].getIfname()), null)
|
||||||
.then(L.bind(function(net, data) {
|
.then(L.bind(function(net, data) {
|
||||||
net.wps_status = data ? data.pbc_status : _('No Data');
|
net.wps_status = data ? data.pbc_status : _('No Data');
|
||||||
|
@ -204,8 +201,6 @@ return baseclass.extend({
|
||||||
}, this));
|
}, this));
|
||||||
},
|
},
|
||||||
|
|
||||||
isDeviceAdded: {},
|
|
||||||
|
|
||||||
render: function(data) {
|
render: function(data) {
|
||||||
var seen = {},
|
var seen = {},
|
||||||
radios = data[0],
|
radios = data[0],
|
||||||
|
@ -236,14 +231,14 @@ return baseclass.extend({
|
||||||
var rows = [];
|
var rows = [];
|
||||||
|
|
||||||
for (var i = 0; i < networks.length; i++) {
|
for (var i = 0; i < networks.length; i++) {
|
||||||
var macfilter = uci.get('wireless', networks[i].sid, 'macfilter');
|
var macfilter = uci.get('wireless', networks[i].sid, 'macfilter'),
|
||||||
|
maclist = {};
|
||||||
|
|
||||||
if (macfilter != null && macfilter != 'disable') {
|
if (macfilter != null && macfilter != 'disable') {
|
||||||
this.isDeviceAdded = {};
|
networks[i].maclist = L.toArray(uci.get('wireless', networks[i].sid, 'maclist'));
|
||||||
var macs = L.toArray(uci.get('wireless', networks[i].sid, 'maclist'));
|
for (var j = 0; j < networks[i].maclist.length; j++) {
|
||||||
for (var j = 0; j < macs.length; j++) {
|
var mac = networks[i].maclist[j].toUpperCase();
|
||||||
var mac = macs[j].toUpperCase();
|
maclist[mac] = true;
|
||||||
this.isDeviceAdded[mac] = true;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -326,7 +321,7 @@ return baseclass.extend({
|
||||||
if (assoclist.firstElementChild.childNodes.length < 6)
|
if (assoclist.firstElementChild.childNodes.length < 6)
|
||||||
assoclist.firstElementChild.appendChild(E('th', { 'class': 'th cbi-section-actions' }));
|
assoclist.firstElementChild.appendChild(E('th', { 'class': 'th cbi-section-actions' }));
|
||||||
|
|
||||||
if (macfilter != null && macfilter != 'disable' && !this.isDeviceAdded[bss.mac]) {
|
if (macfilter != null && macfilter != 'disable' && !maclist[bss.mac]) {
|
||||||
row.push(new L.ui.ComboButton('button', {
|
row.push(new L.ui.ComboButton('button', {
|
||||||
'addlist': macfilter == 'allow' ? _('Add to Whitelist') : _('Add to Blacklist'),
|
'addlist': macfilter == 'allow' ? _('Add to Whitelist') : _('Add to Blacklist'),
|
||||||
'disconnect': _('Disconnect')
|
'disconnect': _('Disconnect')
|
||||||
|
|
Loading…
Reference in a new issue