libs/core: fix luci.model.firewall.rename_zone()

This commit is contained in:
Jo-Philipp Wich 2010-10-30 18:26:46 +00:00
parent 29f0b48ddc
commit 141095fa7f

View file

@ -181,7 +181,10 @@ function rename_zone(self, old, new)
if _valid_id(new) and not self:get_zone(new) then if _valid_id(new) and not self:get_zone(new) then
uci_r:foreach("firewall", "zone", uci_r:foreach("firewall", "zone",
function(s) function(s)
if n and s.name == old then if old and s.name == old then
if not s.network then
uci_r:set("firewall", s['.name'], "network", old)
end
uci_r:set("firewall", s['.name'], "name", new) uci_r:set("firewall", s['.name'], "name", new)
r = true r = true
return false return false
@ -209,10 +212,10 @@ function rename_zone(self, old, new)
end end
end) end)
ub.uci:foreach("firewall", "forwarding", uci_r:foreach("firewall", "forwarding",
function(s) function(s)
if s.src == old then if s.src == old then
ub.uci:set("firewall", s['.name'], "src", new) uci_r:set("firewall", s['.name'], "src", new)
end end
if s.dest == old then if s.dest == old then
uci_r:set("firewall", s['.name'], "dest", new) uci_r:set("firewall", s['.name'], "dest", new)