modules/admin-full: Added list of mounted file systems to fstab configuration page
[project/luci.git] / modules / admin-full / luasrc / model / cbi / admin_system / fstab.lua
index 6d1f057..7aaaac8 100644 (file)
@@ -11,8 +11,53 @@ You may obtain a copy of the License at
 
 $Id$
 ]]--
+require("luci.tools.webadmin")
 m = Map("fstab", translate("a_s_fstab"))
 
+local mounts = luci.sys.mounts()
+
+v = m:section(TypedSection, "_virtual", translate("a_s_fstab_active"))
+v.anonymous = true
+v.rowcolors = true
+v.template  = "cbi/tblsection"
+
+function v.cfgsections(self)
+       local sections = {}
+       for i=1,#mounts do
+               table.insert(sections, i)
+       end
+       return sections
+end
+
+fs = v:option(DummyValue, "fs", translate("filesystem"))
+function fs.cfgvalue(self, section)
+       return mounts[section].fs
+end
+
+mp = v:option(DummyValue, "mountpoint", translate("a_s_fstab_mountpoint"))
+function mp.cfgvalue(self, section)
+       return mounts[section].mountpoint
+end
+
+avail = v:option(DummyValue, "avail", translate("a_s_fstab_avail"))
+function avail.cfgvalue(self, section)
+       return luci.tools.webadmin.byte_format(
+        tonumber(mounts[section].available) * 1024
+       ) .. " / " .. luci.tools.webadmin.byte_format(
+        tonumber(mounts[section].blocks) * 1024
+       )
+end
+
+used = v:option(DummyValue, "used", translate("a_s_fstab_used"))
+function used.cfgvalue(self, section)
+       return mounts[section].percent .. " (" ..
+       luci.tools.webadmin.byte_format(
+        tonumber(mounts[section].used) * 1024
+       ) .. ")"
+end
+
+
+
 mount = m:section(TypedSection, "mount", translate("a_s_fstab_mountpoints"), translate("a_s_fstab_mountpoints1"))
 mount.anonymous = true
 mount.addremove = true