-- Creates the section
function AbstractSection.create(self, section)
- local stat = self.map:set(section, nil, self.sectiontype)
+ local stat
+
+ if section then
+ stat = self.map:set(section, nil, self.sectiontype)
+ else
+ section = self.map:add(self.sectiontype)
+ stat = section
+ end
if stat then
for k,v in pairs(self.children) do
return
end
else -- Create and apply default values
- if luci.http.formvalue("cbi.cns."..path) and self:create(s) then
- for k,v in pairs(self.children) do
- v:write(s, v.default)
- end
+ if luci.http.formvalue("cbi.cns."..path) then
+ self:create(s)
+ return
end
end
end
return sections
end
--- Creates a new section of this type with the given name (or anonymous)
-function TypedSection.create(self, name)
- name = name or self.map:add(self.sectiontype)
- AbstractSection.create(self, name)
-end
-
-- Limits scope to sections that have certain option => value pairs
function TypedSection.depends(self, option, value)
table.insert(self.deps, {option=option, value=value})
end
-function DummyValue.render(self, s)
- luci.template.render(self.template, {self=self, section=s})
-end
-
--[[
Flag - A flag being enabled or disabled