diff options
author | Kaarle Ritvanen <kaarle.ritvanen@datakunkku.fi> | 2013-10-04 08:23:19 +0300 |
---|---|---|
committer | Kaarle Ritvanen <kaarle.ritvanen@datakunkku.fi> | 2013-10-04 13:47:42 +0300 |
commit | 33dd854bfd391ba0a6f3ead2bc8ac32468793883 (patch) | |
tree | b06502fc77b7060b3b25587ba1f6623b3b1cb2cd /acf/model/field.lua | |
parent | 98ecf5591f98399d766fec6fa7ef5e883cf3da70 (diff) | |
download | aconf-33dd854bfd391ba0a6f3ead2bc8ac32468793883.tar.bz2 aconf-33dd854bfd391ba0a6f3ead2bc8ac32468793883.tar.xz |
model: options argument for Field.load
Diffstat (limited to 'acf/model/field.lua')
-rw-r--r-- | acf/model/field.lua | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/acf/model/field.lua b/acf/model/field.lua index 707cde3..7dc20a1 100644 --- a/acf/model/field.lua +++ b/acf/model/field.lua @@ -181,13 +181,15 @@ end function M.TreeNode:topology(context) local res = super(self, M.TreeNode):topology(context) res[1].type = 'table' - util.extend(res, node.topology(self:load(context, true))) + util.extend(res, node.topology(self:load(context, {create=true}))) return res end -function M.TreeNode:load(context, create) +function M.TreeNode:load(context, options) if context.txn and not ( - create or self.create or context.txn:get(context.addr) + ( + options and options.create + ) or self.create or context.txn:get(context.addr) ) then return end return self.itype(context, self.iparams) end @@ -209,7 +211,7 @@ function M.TreeNode:save(context, value) end context.txn:set(context.addr, {}) - local new = self:load(context, true) + local new = self:load(context, {create=true}) local errors = err.ErrorDict() for k, v in node.pairs(value) do |