From 545756180844aea96661351ab00e77b3ce99f27d Mon Sep 17 00:00:00 2001 From: Paul Donald Date: Mon, 4 Dec 2023 04:51:03 +0100 Subject: [PATCH] Merge pull request #6579 from systemcrash/fix_dnsmasq_instance_fields luci-mod-network: Fix 'instances' fields for dnsmasq dhcp config entries (cherry picked from commit d353bc50cd45bd0863170a0fa2f4e474405f8354) --- .../resources/view/network/dhcp.js | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js b/modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js index da0eeabb5a..538b1b0d55 100644 --- a/modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js +++ b/modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js @@ -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() { return uci.load('dhcp').then(function() { let sections = uci.sections('dhcp', 'dhcp'), @@ -630,7 +645,7 @@ return view.extend({ so.optional = true; 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, @@ -932,7 +947,7 @@ return view.extend({ so.optional = true; 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)); }); -- 2.30.2