Revised sysupgrade part 1
[project/luci.git] / modules / admin-full / luasrc / view / admin_system / upgrade.htm
index 16ba50c..693022f 100644 (file)
@@ -17,29 +17,38 @@ $Id$
 <h2><%:a_s_flash%></h2>
 <p><%:a_s_flash_upgrade1%></p>
 <br />
-<% if sysupgrade and not ret then %>
-<form method="post" action="<%=luci.http.getenv("REQUEST_URI")%>" enctype="multipart/form-data">
-       <div class="cbi-section-node">
-               <div class="cbi-value clear">
-                       <div class="cbi-value-title left"><%:a_s_flash_fwimage%></div>
-                       <div class="cbi-value-field"><input type="file" size="30" name="image" /></div>
-               </div>
+<% if next(blocks) and not next(flash) then %>
+<form method="post" action="<%=REQUEST_URI%>" enctype="multipart/form-data">
+       <div class="left"><%:a_s_flash_fwimage%>:</div>
+       <div>
+               <% for name, v in pairs(blocks) do %>
+                       <%=name%>: <input type="file" size="30" name="<%=name%>" /><br />
+               <% end %>
                <br />
-               <div class="cbi-value clear">
-                       <input type="checkbox" name="keepcfg" value="1" checked="checked" />
-                       <span class="bold"><%:a_s_flash_keepcfg%></span>
-               </div>
-               <br />
-               <div>
-                       <input type="submit" value="<%:a_s_flash_fwupgrade%>" />
-               </div>
+               <% if keep_avail then -%>
+               <input type="checkbox" name="keepcfg" value="1" checked="checked" />
+               <span class="bold"><%:a_s_flash_keepcfg%></span>
+               <% end -%>
+       </div>
+       <div>
+               <input type="submit" value="<%:a_s_flash_fwupgrade%>" />
        </div>
 </form>
-<% elseif ret then %>
-       <% if ret == 0 then %>
-<div class="ok"><%:a_s_flash_flashed%></div>
-       <% else %>
-<div class="error"><%:a_s_flash_flasherr%>! (<%:code%> <%=ret%>)</div> 
+<% elseif next(flash) then %>
+       <p><%:a_s_flash_received%></p>
+       
+       <% reboot.exec = false
+       for name, func in pairs(flash) do %>
+               <%:a_s_flash_inprogress%> <%=name%>...
+               <%=string.rep(" ", 2048)%>
+               <%
+                local stat, code = func()
+                reboot.exec = reboot.exec or stat 
+               if stat and code then %>
+                       <%:a_s_flash_flashed%><br />
+               <% else %>
+                       <%:a_s_flash_flasherr%>! (<%:code%> <%=code%>)<br />    
+               <% end %>
        <% end %>
 <% else %>
 <div class="error"><%:a_s_flash_notimplemented%></div>