Merge pull request #6579 from systemcrash/fix_dnsmasq_instance_fields

luci-mod-network: Fix 'instances' fields for dnsmasq dhcp config entries
This commit is contained in:
Paul Donald 2023-12-04 04:51:03 +01:00 committed by GitHub
commit d353bc50cd
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -89,6 +89,21 @@ function calculateNetwork(addr, mask) {
]; ];
} }
function generateDnsmasqInstanceEntry(data) {
const nameValueMap = new Map(Object.entries(data));
let formatString = nameValueMap.get('.index') + ' (' + _('Name') + (nameValueMap.get('.anonymous') ? ': dnsmasq[' + nameValueMap.get('.index') + ']': ': ' + nameValueMap.get('.name'));
if (data.domain) {
formatString += ', ' + _('Domain') + ': ' + data.domain;
}
if (data.local) {
formatString += ', ' + _('Local') + ': ' + data.local;
}
formatString += ')';
return nameValueMap.get('.name'), formatString;
}
function getDHCPPools() { function getDHCPPools() {
return uci.load('dhcp').then(function() { return uci.load('dhcp').then(function() {
let sections = uci.sections('dhcp', 'dhcp'), let sections = uci.sections('dhcp', 'dhcp'),
@ -630,7 +645,7 @@ return view.extend({
so.optional = true; so.optional = true;
Object.values(L.uci.sections('dhcp', 'dnsmasq')).forEach(function(val, index) { Object.values(L.uci.sections('dhcp', 'dnsmasq')).forEach(function(val, index) {
so.value(index, '%s (Domain: %s, Local: %s)'.format(index, val.domain || '?', val.local || '?')); so.value(generateDnsmasqInstanceEntry(val));
}); });
o = s.taboption('srvhosts', form.SectionValue, '__srvhosts__', form.TableSection, 'srvhost', null, o = s.taboption('srvhosts', form.SectionValue, '__srvhosts__', form.TableSection, 'srvhost', null,
@ -932,7 +947,7 @@ return view.extend({
so.optional = true; so.optional = true;
Object.values(L.uci.sections('dhcp', 'dnsmasq')).forEach(function(val, index) { Object.values(L.uci.sections('dhcp', 'dnsmasq')).forEach(function(val, index) {
so.value(index, '%s (Domain: %s, Local: %s)'.format(index, val.domain || '?', val.local || '?')); so.value(generateDnsmasqInstanceEntry(val));
}); });