X-Git-Url: http://git.openwrt.org/?a=blobdiff_plain;f=modules%2Fluci-mod-admin-full%2Fluasrc%2Fmodel%2Fcbi%2Fadmin_network%2Fifaces.lua;h=8be354b448c17a4c2a943b86c8e0661ab43fea85;hb=6ec0353201435e0d0d7d32820d8ba600b4ca7b5b;hp=5c630bb5ce1499ed953fc7139679a0efaf6cd102;hpb=1fd3a1663528cc5029ee9d864128964f020a520d;p=project%2Fluci.git diff --git a/modules/luci-mod-admin-full/luasrc/model/cbi/admin_network/ifaces.lua b/modules/luci-mod-admin-full/luasrc/model/cbi/admin_network/ifaces.lua index 5c630bb5ce..8be354b448 100644 --- a/modules/luci-mod-admin-full/luasrc/model/cbi/admin_network/ifaces.lua +++ b/modules/luci-mod-admin-full/luasrc/model/cbi/admin_network/ifaces.lua @@ -53,7 +53,7 @@ local function get_ifstate(name, option) m.uci:foreach("luci", "ifstate", function (s) if s.interface == name then - val = m.uci:get("luci", s[".name"], option) + val = s[option] return false end end) @@ -285,6 +285,7 @@ if not net:is_floating() then ifname_single.template = "cbi/network_ifacelist" ifname_single.widget = "radio" ifname_single.nobridges = true + ifname_single.noaliases = false ifname_single.rmempty = false ifname_single.network = arg[1] ifname_single:depends("type", "") @@ -295,12 +296,18 @@ if not net:is_floating() then end function ifname_single.write(self, s, val) - local i + local _, i local new_ifs = { } local old_ifs = { } - for _, i in ipairs(net:get_interfaces() or { net:get_interface() }) do - old_ifs[#old_ifs+1] = i:name() + local alias = net:is_alias() + + if alias then + old_ifs[1] = '@' .. alias + else + for _, i in ipairs(net:get_interfaces() or { net:get_interface() }) do + old_ifs[#old_ifs+1] = i:name() + end end for i in ut.imatch(val) do @@ -335,6 +342,7 @@ if not net:is_virtual() then ifname_multi = s:taboption("physical", Value, "ifname_multi", translate("Interface")) ifname_multi.template = "cbi/network_ifacelist" ifname_multi.nobridges = true + ifname_multi.noaliases = true ifname_multi.rmempty = false ifname_multi.network = arg[1] ifname_multi.widget = "checkbox"