local util = require("luci.util")
require("luci.http")
require("luci.uvl")
-require("luci.fs")
+
--local event = require "luci.sys.event"
+local fs = require("nixio.fs")
local uci = require("luci.model.uci")
local class = util.class
local instanceof = util.instanceof
-- Loads a CBI map from given file, creating an environment and returns it
function load(cbimap, ...)
- require("luci.fs")
+ local fs = require "nixio.fs"
local i18n = require "luci.i18n"
require("luci.config")
require("luci.util")
local upldir = "/lib/uci/upload/"
local cbidir = luci.util.libpath() .. "/model/cbi/"
- assert(luci.fs.stat(cbimap) or
- luci.fs.stat(cbidir..cbimap..".lua") or
- luci.fs.stat(cbidir..cbimap..".lua.gz"),
+ assert(fs.stat(cbimap) or
+ fs.stat(cbidir..cbimap..".lua") or
+ fs.stat(cbidir..cbimap..".lua.gz"),
"Model not found!")
local func, err = loadfile(cbimap)
luci.template.render(self.template, {self=self})
end
+function Template.parse(self, readinput)
+ self.readinput = (readinput ~= false)
+ return Map.formvalue(self, "cbi.submit") and FORM_DONE or FORM_NODATA
+end
+
--[[
Map - A map describing a configuration file
self.defaultpath = {}
self.pageaction = false
self.readinput = true
+ self.allow_reset = false
self.allow_back = false
self.allow_finish = false
self.template = "cbi/delegator"
else
newcurrent = self:get_next(self.current)
end
+ elseif stat < FORM_PROCEED then
+ return stat
end
+
- if not newcurrent or not self:get(newcurrent) then
+ if not Map.formvalue(self, "cbi.submit") then
+ return FORM_NODATA
+ elseif not newcurrent or not self:get(newcurrent) then
return FORM_DONE
else
self.current = newcurrent
else
self.error = { [section] = "invalid" }
end
+ if self.section.error then
+ table.insert(self.section.error[section], "invalid")
+ else
+ self.section.error = {[section] = {"invalid"}}
+ end
self.map.save = false
end
if fvalue and not (fvalue == cvalue) then
function FileUpload.cfgvalue(self, section)
local val = AbstractValue.cfgvalue(self, section)
- if val and luci.fs.access(val) then
+ if val and fs.access(val) then
return val
end
return nil
then
return val
end
- luci.fs.unlink(val)
+ fs.unlink(val)
self.value = nil
end
return nil
function FileUpload.remove(self, section)
local val = AbstractValue.formvalue(self, section)
- if val and luci.fs.access(val) then luci.fs.unlink(val) end
+ if val and fs.access(val) then fs.unlink(val) end
return AbstractValue.remove(self, section)
end