summaryrefslogtreecommitdiffstats
path: root/acf2/model/node.lua
diff options
context:
space:
mode:
authorKaarle Ritvanen <kaarle.ritvanen@datakunkku.fi>2013-12-17 16:56:39 +0200
committerKaarle Ritvanen <kaarle.ritvanen@datakunkku.fi>2013-12-17 19:26:32 +0200
commit96d70925489885912caecf59fbd3c6b9c25a4b49 (patch)
tree6692dbaec9d328c8de307acb3a8c3e3cf62a2cfb /acf2/model/node.lua
parent4ac68efd4bd53637f4051ce93e74370b08922812 (diff)
downloadaconf-96d70925489885912caecf59fbd3c6b9c25a4b49.tar.bz2
aconf-96d70925489885912caecf59fbd3c6b9c25a4b49.tar.xz
read-only collections
Diffstat (limited to 'acf2/model/node.lua')
-rw-r--r--acf2/model/node.lua8
1 files changed, 7 insertions, 1 deletions
diff --git a/acf2/model/node.lua b/acf2/model/node.lua
index 3347cd0..86722f2 100644
--- a/acf2/model/node.lua
+++ b/acf2/model/node.lua
@@ -172,6 +172,7 @@ function M.Collection:init(context, params)
if not mt.txn then return end
mt._meta.type = 'collection'
+ mt._meta.editable = params.editable
mt._meta.required = params.required
mt._meta['ui-member'] = params.ui_member or mt._meta['ui-name']:gsub(
's$', ''
@@ -204,7 +205,12 @@ function M.Collection:init(context, params)
end
end
- function mt.save(k, v) mt.member(k):save(v) end
+ function mt.save(k, v)
+ if not params.editable then
+ raise(mt.path, 'Collection is not editable')
+ end
+ mt.member(k):save(v)
+ end
end