libs/cbi: Cleaned up *Section.create
This commit is contained in:
parent
52a063cc5c
commit
ced11a4a13
1 changed files with 18 additions and 12 deletions
|
@ -214,6 +214,7 @@ function AbstractSection.__init__(self, map, sectiontype, ...)
|
||||||
self.map = map
|
self.map = map
|
||||||
self.config = map.config
|
self.config = map.config
|
||||||
self.optionals = {}
|
self.optionals = {}
|
||||||
|
self.defaults = {}
|
||||||
|
|
||||||
self.optional = true
|
self.optional = true
|
||||||
self.addremove = false
|
self.addremove = false
|
||||||
|
@ -303,7 +304,21 @@ end
|
||||||
|
|
||||||
-- Creates the section
|
-- Creates the section
|
||||||
function AbstractSection.create(self, section)
|
function AbstractSection.create(self, section)
|
||||||
return self.map:set(section, nil, self.sectiontype)
|
local stat = self.map:set(section, nil, self.sectiontype)
|
||||||
|
|
||||||
|
if stat then
|
||||||
|
for k,v in pairs(self.children) do
|
||||||
|
if v.default then
|
||||||
|
self.map:set(section, v.option, v.default)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
for k,v in pairs(self.defaults) do
|
||||||
|
self.map:set(section, k, v)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
return stat
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
|
@ -386,17 +401,8 @@ end
|
||||||
|
|
||||||
-- Creates a new section of this type with the given name (or anonymous)
|
-- Creates a new section of this type with the given name (or anonymous)
|
||||||
function TypedSection.create(self, name)
|
function TypedSection.create(self, name)
|
||||||
if name then
|
name = name or self.map:add(self.sectiontype)
|
||||||
self.map:set(name, nil, self.sectiontype)
|
AbstractSection.create(self, name)
|
||||||
else
|
|
||||||
name = self.map:add(self.sectiontype)
|
|
||||||
end
|
|
||||||
|
|
||||||
for k,v in pairs(self.children) do
|
|
||||||
if v.default then
|
|
||||||
self.map:set(name, v.option, v.default)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|
||||||
-- Limits scope to sections that have certain option => value pairs
|
-- Limits scope to sections that have certain option => value pairs
|
||||||
|
|
Loading…
Reference in a new issue