diff options
author | Kaarle Ritvanen <kaarle.ritvanen@datakunkku.fi> | 2013-06-28 07:00:01 +0300 |
---|---|---|
committer | Kaarle Ritvanen <kaarle.ritvanen@datakunkku.fi> | 2013-06-28 13:40:05 +0300 |
commit | 00166624a85afdbe24722c7e2e3320316cfbae93 (patch) | |
tree | f9484b7eb7c2c889c048b318a402d19a7e8ac5ff /acf/model/init.lua | |
parent | 37396d77b3e911b1c5351ab56ff3ec5797e2f62d (diff) | |
download | aconf-00166624a85afdbe24722c7e2e3320316cfbae93.tar.bz2 aconf-00166624a85afdbe24722c7e2e3320316cfbae93.tar.xz |
prevent deletion of objects referred to by other objects
Diffstat (limited to 'acf/model/init.lua')
-rw-r--r-- | acf/model/init.lua | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/acf/model/init.lua b/acf/model/init.lua index a53cc0d..e1a4dd9 100644 --- a/acf/model/init.lua +++ b/acf/model/init.lua @@ -114,6 +114,14 @@ function Reference:_validate(context, value) return value end +function Reference:deleted(context, addr) + local target = self:load(context) + if target and node.addr(target) == addr then + -- TODO raise error for the target object + raise(context.path, 'Refers to '..addr) + end +end + Model = fld.Model |