luci-app-shadowsocks-libev: add a ss_rules section if none exists
authorYousong Zhou <yszhou4tech@gmail.com>
Sun, 13 Aug 2017 04:28:37 +0000 (12:28 +0800)
committerYousong Zhou <yszhou4tech@gmail.com>
Sun, 13 Aug 2017 04:36:58 +0000 (12:36 +0800)
When there is no ss_rules section, the "Redir Rules" tab will have empty
form in the generated page.  This is especialy the case when the
shadowsocks-libev config is from an earlier version before 3.0.6-2

Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
applications/luci-app-shadowsocks-libev/luasrc/model/cbi/shadowsocks-libev/rules.lua

index fe5f9c3..5df59cb 100644 (file)
@@ -16,8 +16,13 @@ m = Map("shadowsocks-libev",
                If the prior check results in action <em>checkdst</em>, packets will continue \
                to have their destination addresses checked."))
 
+local sdata = m:get('ss_rules')
+if not sdata then
+       m:set('ss_rules', nil, 'ss_rules')
+       m:set('ss_rules', 'ss_rules', 'disabled', true)
+end
 
-s = m:section(NamedSection, "ss_rules", "ss-rules")
+s = m:section(NamedSection, "ss_rules", "ss_rules")
 s:tab("general", translate("General Settings"))
 s:tab("srcip", translate("Source Settings"))
 s:tab("dstip", translate("Destination Settings"))