diff options
author | Kaarle Ritvanen <kaarle.ritvanen@datakunkku.fi> | 2013-10-15 22:28:16 +0300 |
---|---|---|
committer | Kaarle Ritvanen <kaarle.ritvanen@datakunkku.fi> | 2013-10-15 22:28:16 +0300 |
commit | f9d87d59a158fcb1326e647b2ec40c4436125765 (patch) | |
tree | 67312d2239566e066996d8ae3245f3c7e8ee06df /acf2/model/field.lua | |
parent | 7021795e1f73b7e66ffefe7956cf59290c6cdf05 (diff) | |
download | aconf-f9d87d59a158fcb1326e647b2ec40c4436125765.tar.bz2 aconf-f9d87d59a158fcb1326e647b2ec40c4436125765.tar.xz |
read-only fields
Diffstat (limited to 'acf2/model/field.lua')
-rw-r--r-- | acf2/model/field.lua | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/acf2/model/field.lua b/acf2/model/field.lua index 5829201..22751c2 100644 --- a/acf2/model/field.lua +++ b/acf2/model/field.lua @@ -44,6 +44,8 @@ M.Field = class(M.Member) function M.Field:init(params) super(self, M.Field):init(params) + if self.editable == nil then self.editable = not self.compute end + if self.choice and not self['ui-choice'] then self['ui-choice'] = util.map( function(name) return self:auto_ui_name(name) end, @@ -61,6 +63,7 @@ function M.Field:meta(context) local res = super(self, M.Field):meta(context) res.type = self.dtype + res.editable = self.editable res.required = self.required res.default = self.default res.choice = self.choice @@ -99,6 +102,7 @@ end function M.Field:validate(context, value) end function M.Field:save(context, value) + if not self.editable then raise(context.path, 'Is not editable') end context.txn:set(context.addr, self:_validate(context, value)) end |