modules/admin-mini: merge new upgrade pages
[project/luci.git] / modules / admin-mini / luasrc / view / mini / upgrade.htm
index bbc5215c4579c1c1fd016ee21227d6df35e78032..425113e62dc91d2209f4b2625ab7b92a0dde7d1f 100644 (file)
@@ -1,7 +1,7 @@
 <%#
 LuCI - Lua Configuration Interface
 Copyright 2008 Steven Barth <steven@midlink.org>
-Copyright 2008 Jo-Philipp Wich <xm@leipzig.freifunk.net>
+Copyright 2008-2009 Jo-Philipp Wich <xm@subsignal.org>
 
 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.
@@ -12,41 +12,95 @@ You may obtain a copy of the License at
 $Id$
 
 -%>
+
 <%+header%>
+
 <h2><a id="content" name="content"><%:system%></a></h2>
-<h3><%:a_s_flash%></h3>
-<p><%:a_s_flash_upgrade1%></p>
-<br />
-<% if sysupgrade and not ret then %>
-<form method="post" action="<%=REQUEST_URI%>" enctype="multipart/form-data">
-       <div class="left"><%:a_s_flash_fwimage%>:</div>
+<h3><%:admin_upgrade Flash Firmware%></h3>
+
+<% if step == 1 then %>
+       <% if supported then %>
+       <form method="post" action="<%=REQUEST_URI%>" enctype="multipart/form-data">
+       <p>
+               <%:admin_upgrade_desc Upload an OpenWrt image file to reflash the device.%>
+               <% if bad_image then %>
+                       <br /><br />
+                       <div class="error"><%:admin_upgrade_badimage The uploaded image file does not
+                               contain a supported format. Make sure that you choose the generic
+                               image format for your platform. %></div>
+               <% end %>
+       </p>
        <div>
+               <%:admin_upgrade_fwimage Firmware image%>:<br />
+               <input type="hidden" name="step" value="2" />
                <input type="file" size="30" name="image" />
                <br />
                <br />
-               <% if keep_avail then -%>
+               <% if keepavail then -%>
                <input type="checkbox" name="keepcfg" value="1" checked="checked" />
-               <span class="bold"><%:a_s_flash_keepcfg%></span>
+               <span class="bold"><%:admin_upgrade_keepcfg Keep configuration files%></span>
                <% end -%>
+
+               <br />
+               <input class="cbi-button cbi-button-apply" type="submit" value="<%:admin_upgrade_upload Upload image%>" />
        </div>
-       <div>
-               <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>
+       </form>
        <% else %>
-<div class="error"><%:a_s_flash_flasherr%>! (<%:code%> <%=ret%>)</div> 
+               <div class="error"><%:admin_upgrade_nosupport Sorry.
+                       OpenWrt does not support a system upgrade on this platform.<br />
+                       You need to manually flash your device. %></div>
        <% end %>
-<% else %>
-<div class="error"><%:a_s_flash_notimplemented%></div>
+<% elseif step == 2 then %>
+       <p>
+               <%:admin_upgrade_uploaded The flash image was uploaded.
+                       Below is the checksum and file size listed,
+                       compare them with the original file to ensure data integrity.<br />
+                       Click "Proceed" below to start the flash procedure. %>
+
+               <% if flashsize > 0 and filesize > flashsize then %>
+                       <br /><br />
+                       <div class="error"><%:admin_upgrade_toolarge It appears that you try to
+                               flash an image that does not fit into the flash memory, please verify
+                               the image file! %></div>
+               <% end %>
+
+               <br />
+               <ul>
+                       <li><%:admin_upgrade_checksum Checksum%>: <code><%=checksum%></code></li>
+                       <li><%:admin_upgrade_filesize Size%>: <%
+                               local w = require "luci.tools.webadmin"
+                               write(w.byte_format(filesize))
+       
+                               if flashsize > 0 then
+                                       write(luci.i18n.translatef(
+                                               "admin_upgrade_spaceavail",
+                                               " (%s available)",
+                                               w.byte_format(flashsize)
+                                       ))
+                               end
+                       %></li>
+               </ul>
+       </p>
+       <div class="cbi-page-actions right">
+               <form style="display:inline">
+                       <input type="hidden" name="step" value="3" />
+                       <input type="hidden" name="keepcfg" value="<%=keepconfig and "1" or "0"%>" />
+                       <input class="cbi-button cbi-button-apply" type="submit" value="<%:proceed Proceed%>" />        
+               </form>
+               <form style="display:inline">
+                       <input type="hidden" name="step" value="1" />
+                       <input type="hidden" name="keepcfg" value="<%=keepconfig and "1" or "0"%>" />
+                       <input class="cbi-button cbi-button-reset" type="submit" value="<%:cancel Cancel%>" />
+               </form>
+       </div>
+<% elseif step == 3 then %>
+       <p><%:admin_upgrade_running The system is flashing now.<br />
+               DO NOT POWER OFF THE DEVICE!<br />
+               Wait a few minutes until you try to reconnect.
+               It might be necessary to renew the address of your computer to reach the device
+               again, depending on your settings. %></p>
+               
+       <iframe src="<%=REQUEST_URI%>?step=4&#38;keepcfg=<%=keepconfig and "1" or "0"%>" style="border:1px solid black; width:100%; height:150px"></iframe>
 <% end %>
 <%+footer%>
-<% if ret == 0 then luci.sys.reboot() end %>
+