diff options
author | Kaarle Ritvanen <kaarle.ritvanen@datakunkku.fi> | 2014-02-26 14:10:49 +0200 |
---|---|---|
committer | Kaarle Ritvanen <kaarle.ritvanen@datakunkku.fi> | 2014-02-26 16:52:57 +0200 |
commit | 6b6da4107d0a31199c8249827ffbe72be2104ada (patch) | |
tree | 6343807f7af6b968d191cc7d9dd1d157e512e96f | |
parent | e55cd03cf3afd5bd838de86c76ad858d882bd33f (diff) | |
download | aconf-6b6da4107d0a31199c8249827ffbe72be2104ada.tar.bz2 aconf-6b6da4107d0a31199c8249827ffbe72be2104ada.tar.xz |
model: allow inserting empty non-editable collection members
-rw-r--r-- | acf2/model/field.lua | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/acf2/model/field.lua b/acf2/model/field.lua index 76c8931..001a77b 100644 --- a/acf2/model/field.lua +++ b/acf2/model/field.lua @@ -328,8 +328,6 @@ function M.TreeNode:load(context, options) end function M.TreeNode:save(context, value) - self:check_editable(context) - local path = context.path if value == path then return end @@ -338,6 +336,13 @@ function M.TreeNode:save(context, value) return end + local check = value ~= nil and next(value) ~= nil + if not check then + local old = self:_load(context) + if old and next(old) ~= nil then check = true end + end + if check then self:check_editable(context) end + self:_save(context) if value then |