luci-mod-admin-full: switch to POST action for reboot
[project/luci.git] / modules / luci-mod-admin-full / luasrc / controller / admin / system.lua
index 9b09e27..64af555 100644 (file)
@@ -1,17 +1,6 @@
---[[
-LuCI - Lua Configuration Interface
-
-Copyright 2008 Steven Barth <steven@midlink.org>
-Copyright 2008-2011 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.
-You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-$Id$
-]]--
+-- Copyright 2008 Steven Barth <steven@midlink.org>
+-- Copyright 2008-2011 Jo-Philipp Wich <jow@openwrt.org>
+-- Licensed to the public under the Apache License 2.0.
 
 module("luci.controller.admin.system", package.seeall)
 
@@ -32,7 +21,7 @@ function index()
        entry({"admin", "system", "startup"}, form("admin_system/startup"), _("Startup"), 45)
        entry({"admin", "system", "crontab"}, form("admin_system/crontab"), _("Scheduled Tasks"), 46)
 
-       if fs.access("/etc/config/fstab") then
+       if fs.access("/sbin/block") then
                entry({"admin", "system", "fstab"}, cbi("admin_system/fstab"), _("Mount Points"), 50)
                entry({"admin", "system", "fstab", "mount"}, cbi("admin_system/fstab/mount"), nil).leaf = true
                entry({"admin", "system", "fstab", "swap"},  cbi("admin_system/fstab/swap"),  nil).leaf = true
@@ -45,7 +34,8 @@ function index()
        entry({"admin", "system", "flashops"}, call("action_flashops"), _("Backup / Flash Firmware"), 70)
        entry({"admin", "system", "flashops", "backupfiles"}, form("admin_system/backupfiles"))
 
-       entry({"admin", "system", "reboot"}, call("action_reboot"), _("Reboot"), 90)
+       entry({"admin", "system", "reboot"}, template("admin_system/reboot"), _("Reboot"), 90)
+       entry({"admin", "system", "reboot", "call"}, post("action_reboot"))
 end
 
 function action_clock_status()
@@ -64,7 +54,8 @@ function action_clock_status()
 end
 
 function action_packages()
-       local ipkg = require("luci.model.ipkg")
+       local fs = require "nixio.fs"
+       local ipkg = require "luci.model.ipkg"
        local submit = luci.http.formvalue("submit")
        local changes = false
        local install = { }
@@ -188,13 +179,7 @@ function action_flashops()
        local image_tmp   = "/tmp/firmware.img"
 
        local function image_supported()
-               -- XXX: yay...
-               return ( 0 == os.execute(
-                       ". /lib/functions.sh; " ..
-                       "include /lib/upgrade; " ..
-                       "platform_check_image %q >/dev/null"
-                               % image_tmp
-               ) )
+               return (os.execute("sysupgrade -T %q >/dev/null" % image_tmp) == 0)
        end
 
        local function image_checksum()
@@ -332,11 +317,7 @@ function action_passwd()
 end
 
 function action_reboot()
-       local reboot = luci.http.formvalue("reboot")
-       luci.template.render("admin_system/reboot", {reboot=reboot})
-       if reboot then
-               luci.sys.reboot()
-       end
+       luci.sys.reboot()
 end
 
 function fork_exec(command)