summaryrefslogtreecommitdiffhomepage
path: root/modules
diff options
context:
space:
mode:
authorSteven Barth <steven@midlink.org>2008-09-12 11:53:08 +0000
committerSteven Barth <steven@midlink.org>2008-09-12 11:53:08 +0000
commitfade8edd2dfe39ae579256d04220aba9da2ff074 (patch)
tree79a61b456ee239333b4e8adbd5ce4223d32780b0 /modules
parente0cfb49235b5890b24dbfcafeb5c7805327d6403 (diff)
Redesigned firmware upgrade process
Diffstat (limited to 'modules')
-rw-r--r--modules/admin-full/luasrc/controller/admin/system.lua9
-rw-r--r--modules/admin-full/luasrc/view/admin_system/upgrade.htm18
-rw-r--r--modules/admin-mini/luasrc/controller/mini/system.lua9
-rw-r--r--modules/admin-mini/luasrc/view/mini/upgrade.htm18
4 files changed, 20 insertions, 34 deletions
diff --git a/modules/admin-full/luasrc/controller/admin/system.lua b/modules/admin-full/luasrc/controller/admin/system.lua
index 5d64336e0..55087a017 100644
--- a/modules/admin-full/luasrc/controller/admin/system.lua
+++ b/modules/admin-full/luasrc/controller/admin/system.lua
@@ -182,7 +182,7 @@ end
function action_upgrade()
require("luci.model.uci")
- local ret
+ local ret, err
local plat = luci.fs.mtime("/lib/upgrade/platform.sh")
local tmpfile = "/tmp/firmware.img"
local broadcom = os.execute('grep brcm_ /lib/upgrade/platform.sh >/dev/null 2>&1') == 0
@@ -208,12 +208,11 @@ function action_upgrade()
local keepcfg = keep_avail and luci.http.formvalue("keepcfg")
if plat and fname then
- ret = function()
- return luci.sys.flash(tmpfile, keepcfg and _keep_pattern())
- end
+ ret, err = luci.sys.flash(tmpfile, keepcfg and _keep_pattern())
end
- luci.template.render("admin_system/upgrade", {sysupgrade=plat, ret=ret, keep_avail=keep_avail})
+ luci.template.render("admin_system/upgrade", {sysupgrade=plat,
+ ret=ret, err=err, keep_avail=keep_avail})
end
function _keep_pattern()
diff --git a/modules/admin-full/luasrc/view/admin_system/upgrade.htm b/modules/admin-full/luasrc/view/admin_system/upgrade.htm
index a3d97d649..40f3ec984 100644
--- a/modules/admin-full/luasrc/view/admin_system/upgrade.htm
+++ b/modules/admin-full/luasrc/view/admin_system/upgrade.htm
@@ -17,7 +17,7 @@ $Id$
<h2><%:a_s_flash%></h2>
<p><%:a_s_flash_upgrade1%></p>
<br />
-<% if sysupgrade and not ret then %>
+<% if sysupgrade and ret == nil then %>
<form method="post" action="<%=REQUEST_URI%>" enctype="multipart/form-data">
<div class="left"><%:a_s_flash_fwimage%>:</div>
<div>
@@ -33,20 +33,14 @@ $Id$
<input type="submit" value="<%:a_s_flash_fwupgrade%>" />
</div>
</form>
-<% elseif ret then %>
- <p><%:a_s_flash_received%></p>
- <p><%:a_s_flash_inprogress%></p>
-
-<!-- <%=string.rep(" ", 2048)%> -->
- <% %>
- <% local ret = ret()
- if ret == 0 then %>
-<div class="ok"><%:a_s_flash_flashed%></div>
+<% elseif ret ~= nil then %>
+ <% if ret then %>
+<p><%:a_s_flash_received%></p>
+<p><%:a_s_flash_inprogress%></p>
<% else %>
-<div class="error"><%:a_s_flash_flasherr%>! (<%:code%> <%=ret%>)</div>
+<div class="error"><%:a_s_flash_flasherr%>! (<%=err%>)</div>
<% end %>
<% else %>
<div class="error"><%:a_s_flash_notimplemented%></div>
<% end %>
<%+footer%>
-<% if ret == 0 then luci.sys.reboot() end %>
diff --git a/modules/admin-mini/luasrc/controller/mini/system.lua b/modules/admin-mini/luasrc/controller/mini/system.lua
index 6d16ef865..d68283cc6 100644
--- a/modules/admin-mini/luasrc/controller/mini/system.lua
+++ b/modules/admin-mini/luasrc/controller/mini/system.lua
@@ -79,7 +79,7 @@ end
function action_upgrade()
require("luci.model.uci")
- local ret = nil
+ local ret, err
local plat = luci.fs.mtime("/lib/upgrade/platform.sh")
local tmpfile = "/tmp/firmware.img"
local broadcom = os.execute('grep brcm_ /lib/upgrade/platform.sh >/dev/null 2>&1') == 0
@@ -105,12 +105,11 @@ function action_upgrade()
local keepcfg = keep_avail and luci.http.formvalue("keepcfg")
if plat and fname then
- ret = function()
- return luci.sys.flash(tmpfile, keepcfg and _keep_pattern())
- end
+ ret, err = luci.sys.flash(tmpfile, keepcfg and _keep_pattern())
end
- luci.template.render("mini/upgrade", {sysupgrade=plat, ret=ret, keep_avail=keep_avail})
+ luci.template.render("admin_system/upgrade", {sysupgrade=plat,
+ ret=ret, err=err, keep_avail=keep_avail})
end
function _keep_pattern()
diff --git a/modules/admin-mini/luasrc/view/mini/upgrade.htm b/modules/admin-mini/luasrc/view/mini/upgrade.htm
index a3d97d649..40f3ec984 100644
--- a/modules/admin-mini/luasrc/view/mini/upgrade.htm
+++ b/modules/admin-mini/luasrc/view/mini/upgrade.htm
@@ -17,7 +17,7 @@ $Id$
<h2><%:a_s_flash%></h2>
<p><%:a_s_flash_upgrade1%></p>
<br />
-<% if sysupgrade and not ret then %>
+<% if sysupgrade and ret == nil then %>
<form method="post" action="<%=REQUEST_URI%>" enctype="multipart/form-data">
<div class="left"><%:a_s_flash_fwimage%>:</div>
<div>
@@ -33,20 +33,14 @@ $Id$
<input type="submit" value="<%:a_s_flash_fwupgrade%>" />
</div>
</form>
-<% elseif ret then %>
- <p><%:a_s_flash_received%></p>
- <p><%:a_s_flash_inprogress%></p>
-
-<!-- <%=string.rep(" ", 2048)%> -->
- <% %>
- <% local ret = ret()
- if ret == 0 then %>
-<div class="ok"><%:a_s_flash_flashed%></div>
+<% elseif ret ~= nil then %>
+ <% if ret then %>
+<p><%:a_s_flash_received%></p>
+<p><%:a_s_flash_inprogress%></p>
<% else %>
-<div class="error"><%:a_s_flash_flasherr%>! (<%:code%> <%=ret%>)</div>
+<div class="error"><%:a_s_flash_flasherr%>! (<%=err%>)</div>
<% end %>
<% else %>
<div class="error"><%:a_s_flash_notimplemented%></div>
<% end %>
<%+footer%>
-<% if ret == 0 then luci.sys.reboot() end %>