diff options
Diffstat (limited to 'modules/luci-mod-admin-full')
8 files changed, 63 insertions, 99 deletions
diff --git a/modules/luci-mod-admin-full/luasrc/controller/admin/uci.lua b/modules/luci-mod-admin-full/luasrc/controller/admin/uci.lua index 9533ff5e6e..1d955dd982 100644 --- a/modules/luci-mod-admin-full/luasrc/controller/admin/uci.lua +++ b/modules/luci-mod-admin-full/luasrc/controller/admin/uci.lua @@ -9,7 +9,7 @@ function index() or table.concat(luci.dispatcher.context.request, "/") entry({"admin", "uci"}, nil, _("Configuration")) - entry({"admin", "uci", "changes"}, call("action_changes"), _("Changes"), 40).query = {redir=redir} + entry({"admin", "uci", "changes"}, post_on({ trigger_apply = true }, "action_changes"), _("Changes"), 40).query = {redir=redir} entry({"admin", "uci", "revert"}, post("action_revert"), _("Revert"), 30).query = {redir=redir} local node @@ -25,9 +25,9 @@ function index() node.cors = true node.sysauth_authenticator = authen - node = entry({"admin", "uci", "confirm"}, post("action_confirm"), nil) + node = entry({"admin", "uci", "confirm"}, call("action_confirm"), nil) node.cors = true - node.sysauth_authenticator = authen + node.sysauth = false end @@ -36,8 +36,9 @@ function action_changes() local changes = uci:changes() luci.template.render("admin_uci/changes", { - changes = next(changes) and changes, - timeout = timeout + changes = next(changes) and changes, + timeout = timeout, + trigger_apply = luci.http.formvalue("trigger_apply") and true or false }) end @@ -52,7 +53,8 @@ function action_revert() end luci.template.render("admin_uci/revert", { - changes = next(changes) and changes + changes = next(changes) and changes, + trigger_revert = true }) end @@ -84,8 +86,13 @@ end function action_apply_rollback() local uci = require "luci.model.uci" - local _, errstr = uci:apply(true) - ubus_state_to_http(errstr) + local token, errstr = uci:apply(true) + if token then + luci.http.prepare_content("application/json") + luci.http.write_json({ token = token }) + else + ubus_state_to_http(errstr) + end end function action_apply_unchecked() @@ -96,6 +103,7 @@ end function action_confirm() local uci = require "luci.model.uci" - local _, errstr = uci:confirm() + local token = luci.http.formvalue("token") + local _, errstr = uci:confirm(token) ubus_state_to_http(errstr) end diff --git a/modules/luci-mod-admin-full/luasrc/model/cbi/admin_network/wifi_overview.lua b/modules/luci-mod-admin-full/luasrc/model/cbi/admin_network/wifi_overview.lua index 32bf1965f3..ad20f09187 100644 --- a/modules/luci-mod-admin-full/luasrc/model/cbi/admin_network/wifi_overview.lua +++ b/modules/luci-mod-admin-full/luasrc/model/cbi/admin_network/wifi_overview.lua @@ -70,7 +70,7 @@ local tpl_radio = tpl.Template(nil, [[ <!-- physical device --> <div class="tr cbi-rowstyle-2"> <div class="td col-2 center middle"> - <span class="ifacebadge"><img src="<%=resource%>/icons/wifi_toggled.png" id="<%=dev:name()%>-iw-upstate" /> <%=dev:name()%></span> + <span class="ifacebadge"><img src="<%=resource%>/icons/wifi_disabled.png" id="<%=dev:name()%>-iw-upstate" /> <%=dev:name()%></span> </div> <div class="td col-7 left middle"> <big><strong><%=hw%></strong></big><br /> @@ -115,8 +115,8 @@ local tpl_radio = tpl.Template(nil, [[ </div> <% end %> <% else %> - <div class="tr cbi-rowstyle-2"> - <div class="td left"> + <div class="tr placeholder"> + <div class="td"> <em><%:No network configured on this device%></em> </div> </div> diff --git a/modules/luci-mod-admin-full/luasrc/view/admin_network/iface_overview_status.htm b/modules/luci-mod-admin-full/luasrc/view/admin_network/iface_overview_status.htm index bdf1c083ae..7427154a04 100644 --- a/modules/luci-mod-admin-full/luasrc/view/admin_network/iface_overview_status.htm +++ b/modules/luci-mod-admin-full/luasrc/view/admin_network/iface_overview_status.htm @@ -110,7 +110,7 @@ if (!ifc.is_dynamic && !ifc.is_alias) { if (ifc.macaddr) - html += String.format('<strong><%:MAC-Address%>:</strong> %s<br />', ifc.macaddr); + html += String.format('<strong><%:MAC%>:</strong> %s<br />', ifc.macaddr); html += String.format( '<strong><%:RX%>:</strong> %.2mB (%d <%:Pkts.%>)<br />' + diff --git a/modules/luci-mod-admin-full/luasrc/view/admin_network/iface_status.htm b/modules/luci-mod-admin-full/luasrc/view/admin_network/iface_status.htm index 9c5173dae2..34be35dd20 100644 --- a/modules/luci-mod-admin-full/luasrc/view/admin_network/iface_status.htm +++ b/modules/luci-mod-admin-full/luasrc/view/admin_network/iface_status.htm @@ -17,7 +17,7 @@ html += String.format('<strong><%:Uptime%>:</strong> %t<br />', ifc.uptime); if (ifc.macaddr) - html += String.format('<strong><%:MAC-Address%>:</strong> %s<br />', ifc.macaddr); + html += String.format('<strong><%:MAC%>:</strong> %s<br />', ifc.macaddr); html += String.format( '<strong><%:RX%></strong>: %.2mB (%d <%:Pkts.%>)<br />' + diff --git a/modules/luci-mod-admin-full/luasrc/view/admin_status/index.htm b/modules/luci-mod-admin-full/luasrc/view/admin_status/index.htm index db8535086f..29a03f2554 100644 --- a/modules/luci-mod-admin-full/luasrc/view/admin_status/index.htm +++ b/modules/luci-mod-admin-full/luasrc/view/admin_status/index.htm @@ -221,63 +221,36 @@ <% end %> <% if has_dsl then %> - var dsl_i = document.getElementById('dsl_i'); - var dsl_s = document.getElementById('dsl_s'); - - var s = String.format( - '<strong><%:Status%>: </strong>%s<br />' + - '<strong><%:Line State%>: </strong>%s [0x%x]<br />' + - '<strong><%:Line Mode%>: </strong>%s<br />' + - '<strong><%:Annex%>: </strong>%s<br />' + - '<strong><%:Profile%>: </strong>%s<br />' + - '<strong><%:Data Rate%>: </strong>%s/s / %s/s<br />' + - '<strong><%:Max. Attainable Data Rate (ATTNDR)%>: </strong>%s/s / %s/s<br />' + - '<strong><%:Latency%>: </strong>%s / %s<br />' + - '<strong><%:Line Attenuation (LATN)%>: </strong>%s dB / %s dB<br />' + - '<strong><%:Signal Attenuation (SATN)%>: </strong>%s dB / %s dB<br />' + - '<strong><%:Noise Margin (SNR)%>: </strong>%s dB / %s dB<br />' + - '<strong><%:Aggregate Transmit Power(ACTATP)%>: </strong>%s dB / %s dB<br />' + - '<strong><%:Forward Error Correction Seconds (FECS)%>: </strong>%s / %s<br />' + - '<strong><%:Errored seconds (ES)%>: </strong>%s / %s<br />' + - '<strong><%:Severely Errored Seconds (SES)%>: </strong>%s / %s<br />' + - '<strong><%:Loss of Signal Seconds (LOSS)%>: </strong>%s / %s<br />' + - '<strong><%:Unavailable Seconds (UAS)%>: </strong>%s / %s<br />' + - '<strong><%:Header Error Code Errors (HEC)%>: </strong>%s / %s<br />' + - '<strong><%:Non Pre-emtive CRC errors (CRC_P)%>: </strong>%s / %s<br />' + - '<strong><%:Pre-emtive CRC errors (CRCP_P)%>: </strong>%s / %s<br />' + - '<strong><%:Line Uptime%>: </strong>%s<br />' + - '<strong><%:ATU-C System Vendor ID%>: </strong>%s<br />' + - '<strong><%:Power Management Mode%>: </strong>%s<br />', - info.dsl.line_state, info.dsl.line_state_detail, - info.dsl.line_state_num, - info.dsl.line_mode_s, - info.dsl.annex_s, - info.dsl.profile_s, - info.dsl.data_rate_down_s, info.dsl.data_rate_up_s, - info.dsl.max_data_rate_down_s, info.dsl.max_data_rate_up_s, - info.dsl.latency_num_down, info.dsl.latency_num_up, - info.dsl.line_attenuation_down, info.dsl.line_attenuation_up, - info.dsl.signal_attenuation_down, info.dsl.signal_attenuation_up, - info.dsl.noise_margin_down, info.dsl.noise_margin_up, - info.dsl.actatp_down, info.dsl.actatp_up, - info.dsl.errors_fec_near, info.dsl.errors_fec_far, - info.dsl.errors_es_near, info.dsl.errors_es_far, - info.dsl.errors_ses_near, info.dsl.errors_ses_far, - info.dsl.errors_loss_near, info.dsl.errors_loss_far, - info.dsl.errors_uas_near, info.dsl.errors_uas_far, - info.dsl.errors_hec_near, info.dsl.errors_hec_far, - info.dsl.errors_crc_p_near, info.dsl.errors_crc_p_far, - info.dsl.errors_crcp_p_near, info.dsl.errors_crcp_p_far, - info.dsl.line_uptime_s, - info.dsl.atuc_vendor_id, - info.dsl.power_mode_s - ); - - dsl_s.innerHTML = String.format('<small>%s</small>', s); - dsl_i.innerHTML = String.format( - '<img src="<%=resource%>/icons/ethernet.png" />' + - '<br /><small>DSL</small>' - ); + var ds = document.getElementById('dsl_status_table'); + + while (ds.lastElementChild) + ds.removeChild(ds.lastElementChild); + + ds.appendChild(renderBox( + '<%:DSL Status%>', + (info.dsl.line_state === 'UP'), [ ], + '<%:Line State%>', '%s [0x%x]'.format(info.dsl.line_state, info.dsl.line_state_detail), + '<%:Line Mode%>', info.dsl.line_mode_s || '-', + '<%:Line Uptime%>', info.dsl.line_uptime_s || '-', + '<%:Annex%>', info.dsl.annex_s || '-', + '<%:Profile%>', info.dsl.profile_s || '-', + '<%:Data Rate%>', '%s/s / %s/s'.format(info.dsl.data_rate_down_s, info.dsl.data_rate_up_s), + '<%:Max. Attainable Data Rate (ATTNDR)%>', '%s/s / %s/s'.format(info.dsl.max_data_rate_down_s, info.dsl.max_data_rate_up_s), + '<%:Latency%>', '%s / %s'.format(info.dsl.latency_num_down, info.dsl.latency_num_up), + '<%:Line Attenuation (LATN)%>', '%.1f dB / %.1f dB'.format(info.dsl.line_attenuation_down, info.dsl.line_attenuation_up), + '<%:Signal Attenuation (SATN)%>', '%.1f dB / %.1f dB'.format(info.dsl.signal_attenuation_down, info.dsl.signal_attenuation_up), + '<%:Noise Margin (SNR)%>', '%.1f dB / %.1f dB'.format(info.dsl.noise_margin_down, info.dsl.noise_margin_up), + '<%:Aggregate Transmit Power(ACTATP)%>', '%.1f dB / %.1f dB'.format(info.dsl.actatp_down, info.dsl.actatp_up), + '<%:Forward Error Correction Seconds (FECS)%>', '%d / %d'.format(info.dsl.errors_fec_near, info.dsl.errors_fec_far), + '<%:Errored seconds (ES)%>', '%d / %d'.format(info.dsl.errors_es_near, info.dsl.errors_es_far), + '<%:Severely Errored Seconds (SES)%>', '%d / %d'.format(info.dsl.errors_ses_near, info.dsl.errors_ses_far), + '<%:Loss of Signal Seconds (LOSS)%>', '%d / %d'.format(info.dsl.errors_loss_near, info.dsl.errors_loss_far), + '<%:Unavailable Seconds (UAS)%>', '%d / %d'.format(info.dsl.errors_uas_near, info.dsl.errors_uas_far), + '<%:Header Error Code Errors (HEC)%>', '%d / %d'.format(info.dsl.errors_hec_near, info.dsl.errors_hec_far), + '<%:Non Pre-emtive CRC errors (CRC_P)%>', '%d / %d'.format(info.dsl.errors_crc_p_near, info.dsl.errors_crc_p_far), + '<%:Pre-emtive CRC errors (CRCP_P)%>', '%d / %d'.format(info.dsl.errors_crcp_p_near, info.dsl.errors_crcp_p_far), + '<%:ATU-C System Vendor ID%>', info.dsl.atuc_vendor_id, + '<%:Power Management Mode%>', info.dsl.power_mode_s)); <% end %> <% if has_wifi then %> @@ -452,18 +425,8 @@ <div class="cbi-section"> <h3><%:DSL%></h3> - <div class="table" width="100%"> - <div class="tr"> - <div class="td left" width="33%" style="vertical-align:top"><%:DSL Status%></div> - <div class="td"> - <div class="table"> - <div class="tr"> - <div class="td" id="dsl_i" style="width:16px; text-align:center; padding:3px"><img src="<%=resource%>/icons/ethernet_disabled.png" /><br /><small>?</small></div> - <div class="td left" id="dsl_s" style="vertical-align:middle; padding: 3px"><em><%:Collecting data...%></em></div> - </div> - </div> - </div> - </div> + <div id="dsl_status_table" class="network-status-table"> + <p><em><%:Collecting data...%></em></p> </div> </div> <% end %> diff --git a/modules/luci-mod-admin-full/luasrc/view/admin_system/packages.htm b/modules/luci-mod-admin-full/luasrc/view/admin_system/packages.htm index 1b959afc54..280eabb8ea 100644 --- a/modules/luci-mod-admin-full/luasrc/view/admin_system/packages.htm +++ b/modules/luci-mod-admin-full/luasrc/view/admin_system/packages.htm @@ -102,7 +102,7 @@ end <div class="cbi-value"> <label class="cbi-value-title"><%:Download and install package%>:</label> <div class="cbi-value-field"> - <input type="text" name="url" size="30" value="" /> + <span><input type="text" name="url" size="30" value="" /></span> <input class="cbi-button cbi-button-save" type="submit" name="go" value="<%:OK%>" /> </div> </div> @@ -110,7 +110,7 @@ end <div class="cbi-value cbi-value-last"> <label class="cbi-value-title"><%:Filter%>:</label> <div class="cbi-value-field"> - <input type="text" name="query" size="20" value="<%=pcdata(query)%>" /> + <span><input type="text" name="query" size="20" value="<%=pcdata(query)%>" /></span> <input type="submit" class="cbi-button cbi-button-action" name="search" value="<%:Find package%>" /> </div> </div> diff --git a/modules/luci-mod-admin-full/luasrc/view/admin_uci/changes.htm b/modules/luci-mod-admin-full/luasrc/view/admin_uci/changes.htm index 6282244757..43bd7c23fb 100644 --- a/modules/luci-mod-admin-full/luasrc/view/admin_uci/changes.htm +++ b/modules/luci-mod-admin-full/luasrc/view/admin_uci/changes.htm @@ -8,11 +8,9 @@ <%- local node, redir_url = luci.dispatcher.lookup(luci.http.formvalue("redir")) + export("redirect", redir_url or url("admin/uci/changes")) - include("cbi/apply_widget") include("admin_uci/changelog") - - cbi_apply_widget(redir_url or url("admin/uci/changes")) -%> <h2 name="content"><%:Configuration%> / <%:Changes%></h2> @@ -32,7 +30,11 @@ </form> <% end %> - <input class="cbi-button cbi-button-save" type="button" id="apply_button" value="<%:Save & Apply%>" onclick="uci_apply(true); this.blur()" /> + <form method="post" action="<%=url("admin/uci/changes")%>"> + <input type="hidden" name="token" value="<%=token%>" /> + <input type="hidden" name="redir" value="<%=pcdata(luci.http.formvalue("redir"))%>" /> + <input class="cbi-button cbi-button-save" type="submit" name="trigger_apply" value="<%:Save & Apply%>" /> + </form> <form method="post" action="<%=url("admin/uci/revert")%>"> <input type="hidden" name="token" value="<%=token%>" /> <input type="hidden" name="redir" value="<%=pcdata(luci.http.formvalue("redir"))%>" /> diff --git a/modules/luci-mod-admin-full/luasrc/view/admin_uci/revert.htm b/modules/luci-mod-admin-full/luasrc/view/admin_uci/revert.htm index ff23d568dc..d8fd3de01e 100644 --- a/modules/luci-mod-admin-full/luasrc/view/admin_uci/revert.htm +++ b/modules/luci-mod-admin-full/luasrc/view/admin_uci/revert.htm @@ -8,11 +8,9 @@ <%- local node, redir_url = luci.dispatcher.lookup(luci.http.formvalue("redir")) + export("redirect", redir_url or url("admin/uci/changes")) - include("cbi/apply_widget") include("admin_uci/changelog") - - cbi_apply_widget(redir_url or url("admin/uci/revert")) -%> <h2 name="content"><%:Configuration%> / <%:Revert%></h2> @@ -24,13 +22,6 @@ <p><strong><%:There are no pending changes to revert!%></strong></p> <% end %> -<div class="alert-message" id="cbi_apply_status" style="display:none"></div> -<script type="text/javascript"> - document.addEventListener("DOMContentLoaded", function() { - uci_revert(); - }); -</script> - <% if redir_url then %> <div class="cbi-page-actions"> <form class="inline" method="get" action="<%=luci.util.pcdata(redir_url)%>"> |