From: Florian Eckert Date: Fri, 8 Mar 2019 12:26:19 +0000 (+0100) Subject: luci-mod-system: add button to sync with ntp server X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=refs%2Fpull%2F2620%2Fhead;p=oweals%2Fluci.git luci-mod-system: add button to sync with ntp server Especially for systems without RTC this change has two advantages * manual time sync with time server during configuration * test possibility of the time sync over the configured servers Signed-off-by: Florian Eckert --- diff --git a/modules/luci-mod-system/luasrc/controller/admin/system.lua b/modules/luci-mod-system/luasrc/controller/admin/system.lua index 3e58896d6..49d4476c4 100644 --- a/modules/luci-mod-system/luasrc/controller/admin/system.lua +++ b/modules/luci-mod-system/luasrc/controller/admin/system.lua @@ -9,6 +9,7 @@ function index() entry({"admin", "system", "system"}, cbi("admin_system/system"), _("System"), 1) entry({"admin", "system", "clock_status"}, post_on({ set = true }, "action_clock_status")) + entry({"admin", "system", "ntp_restart"}, call("action_ntp_restart"), nil).leaf = true entry({"admin", "system", "admin"}, firstchild(), _("Administration"), 2) entry({"admin", "system", "admin", "password"}, template("admin_system/password"), _("Router Password"), 1) @@ -64,6 +65,14 @@ function action_clock_status() luci.http.write_json({ timestring = os.date("%c") }) end +function action_ntp_restart() + if nixio.fs.access("/etc/init.d/sysntpd") then + os.execute("/etc/init.d/sysntpd restart") + end + luci.http.prepare_content("text/plain") + luci.http.write("0") +end + local function image_supported(image) return (os.execute("sysupgrade -T %q >/dev/null" % image) == 0) end diff --git a/modules/luci-mod-system/luasrc/view/admin_system/clock_status.htm b/modules/luci-mod-system/luasrc/view/admin_system/clock_status.htm index 2c96eb418..796aa695c 100644 --- a/modules/luci-mod-system/luasrc/view/admin_system/clock_status.htm +++ b/modules/luci-mod-system/luasrc/view/admin_system/clock_status.htm @@ -28,9 +28,29 @@ return false; } + + function btn_action(action) + { + if (action.name === "do_ntp_restart") + { + new XHR.get('<%=luci.dispatcher.build_url("admin", "system", "ntp_restart")%>', null, + function(x) + { + if (!x) + { + return; + } + }); + } + } + //]]> <%:Collecting data...%> +<% if require("nixio.fs").access("/etc/init.d/sysntpd") then %> + +<% end %> + <%+cbi/valuefooter%>