diff options
author | Jo-Philipp Wich <jo@mein.io> | 2019-09-11 12:46:59 +0200 |
---|---|---|
committer | Jo-Philipp Wich <jo@mein.io> | 2019-09-11 12:46:59 +0200 |
commit | eeced34765e503e473ebc1bcd9aa659f7bbf4e7c (patch) | |
tree | fc6b3b9c77b1791bccc802acc691b4ca3d93e03f /applications/luci-app-firewall | |
parent | 34e73fd983a49e38155a39c2392779cbd6abb67f (diff) |
luci-app-firewall: disallow creating zone without name
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Diffstat (limited to 'applications/luci-app-firewall')
-rw-r--r-- | applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js b/applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js index dc34e84d5..41840a226 100644 --- a/applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js +++ b/applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js @@ -92,11 +92,14 @@ return L.view.extend({ o = s.taboption('general', form.Value, 'name', _('Name')); o.placeholder = _('Unnamed zone'); o.modalonly = true; + o.rmempty = false; o.datatype = 'and(uciname,maxlength(11))'; o.write = function(section_id, formvalue) { var cfgvalue = this.cfgvalue(section_id); - if (cfgvalue != formvalue) + if (cfgvalue == null || cfgvalue == '') + return uci.set('firewall', section_id, 'name', formvalue); + else if (cfgvalue != formvalue) return firewall.renameZone(cfgvalue, formvalue); }; @@ -269,7 +272,7 @@ return L.view.extend({ o.cfgvalue = function(section_id) { var out = (this.option == 'out'), zone = this.lookupZone(uci.get('firewall', section_id, 'name')), - fwds = zone.getForwardingsBy(out ? 'src' : 'dest'), + fwds = zone ? zone.getForwardingsBy(out ? 'src' : 'dest') : [], value = []; for (var i = 0; i < fwds.length; i++) @@ -280,7 +283,7 @@ return L.view.extend({ o.write = o.remove = function(section_id, formvalue) { var out = (this.option == 'out'), zone = this.lookupZone(uci.get('firewall', section_id, 'name')), - fwds = zone.getForwardingsBy(out ? 'src' : 'dest'); + fwds = zone ? zone.getForwardingsBy(out ? 'src' : 'dest') : []; if (formvalue == null) formvalue = []; |