diff options
author | Jo-Philipp Wich <jo@mein.io> | 2018-05-03 08:22:16 +0200 |
---|---|---|
committer | Jo-Philipp Wich <jo@mein.io> | 2018-05-03 08:22:55 +0200 |
commit | 52cf265c9d12537d5f37043350328d30ca11bab4 (patch) | |
tree | 07e14d99aab2debb34b20aa633026c57600b0b30 | |
parent | 3f517121532e8f7e1987e491fe42cdb43cacc3a7 (diff) |
luci-base: support hiding the "Back to Overview" button in cbi maps
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
-rw-r--r-- | applications/luci-app-travelmate/luasrc/model/cbi/travelmate/overview_tab.lua | 21 | ||||
-rw-r--r-- | modules/luci-base/luasrc/view/cbi/footer.htm | 2 |
2 files changed, 13 insertions, 10 deletions
diff --git a/applications/luci-app-travelmate/luasrc/model/cbi/travelmate/overview_tab.lua b/applications/luci-app-travelmate/luasrc/model/cbi/travelmate/overview_tab.lua index 7b6b9658ca..e2f4e3f002 100644 --- a/applications/luci-app-travelmate/luasrc/model/cbi/travelmate/overview_tab.lua +++ b/applications/luci-app-travelmate/luasrc/model/cbi/travelmate/overview_tab.lua @@ -19,8 +19,12 @@ m = Map("travelmate", translate("Travelmate"), .. "<a href=\"%s\" target=\"_blank\">" .. "see online documentation</a>", "https://github.com/openwrt/packages/blob/master/net/travelmate/files/README.md")) +-- We might modify these configs too: +m:chain("network") +m:chain("firewall") + function m.on_after_commit(self) - luci.sys.call("env -i /etc/init.d/travelmate restart >/dev/null 2>&1") + uci:apply(true) luci.http.redirect(luci.dispatcher.build_url("admin", "services", "travelmate")) end @@ -42,25 +46,24 @@ if uplink == "" then btn.disabled = false function btn.write(self, section) + -- Do uci changes. Note that we must not commit here as the rollback handler + -- needs to see "unsaved changes" in order to roll them back. local iface = o:formvalue(section) if iface then uci:set("travelmate", section, "trm_iface", iface) - uci:save("travelmate") - uci:commit("travelmate") local net = nw:add_network(iface, { proto = "dhcp" }) if net then - nw:save("network") - nw:commit("network") local zone = fw:get_zone_by_network("wan") if zone then zone:add_network(iface) - fw:save("firewall") - fw:commit("firewall") end end - luci.sys.call("env -i /bin/ubus call network reload >/dev/null 2>&1") end - luci.http.redirect(luci.dispatcher.build_url("admin", "services", "travelmate")) + + -- Since we're prematurely terminating the cbi logic flow here and since we trigger + -- our modifications in a button write callback and not via cbi.apply, we do need to + -- tell cbi to trigger apply/rollback. + m.flow.autoapply = true end return m end diff --git a/modules/luci-base/luasrc/view/cbi/footer.htm b/modules/luci-base/luasrc/view/cbi/footer.htm index 4d332fd07a..e6acfb0697 100644 --- a/modules/luci-base/luasrc/view/cbi/footer.htm +++ b/modules/luci-base/luasrc/view/cbi/footer.htm @@ -1,6 +1,6 @@ <%- if pageaction then -%> <div class="cbi-page-actions"> - <% if redirect then %> + <% if redirect and not flow.hidebackbtn then %> <div style="float:left"> <input class="cbi-button cbi-button-link" type="button" value="<%:Back to Overview%>" onclick="location.href='<%=pcdata(redirect)%>'" /> </div> |