diff options
author | Kaarle Ritvanen <kaarle.ritvanen@datakunkku.fi> | 2013-03-07 07:14:03 +0000 |
---|---|---|
committer | Kaarle Ritvanen <kaarle.ritvanen@datakunkku.fi> | 2013-03-07 12:42:24 +0000 |
commit | f272cb4c51cb2bb3752269faf431bcf4bfbc0686 (patch) | |
tree | 4183714fffacb78cd451ebd051d7321a368c128b /acf/transaction/init.lua | |
parent | 7df3e9fa87497bc65b454dca79f6f4fc133fd24b (diff) | |
download | acf2-f272cb4c51cb2bb3752269faf431bcf4bfbc0686.tar.bz2 acf2-f272cb4c51cb2bb3752269faf431bcf4bfbc0686.tar.xz |
forward relevant error messages to client
Diffstat (limited to 'acf/transaction/init.lua')
-rw-r--r-- | acf/transaction/init.lua | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/acf/transaction/init.lua b/acf/transaction/init.lua index 7f2f6b9..99b8b9d 100644 --- a/acf/transaction/init.lua +++ b/acf/transaction/init.lua @@ -1,10 +1,11 @@ --[[ -Copyright (c) 2012 Kaarle Ritvanen +Copyright (c) 2012-2013 Kaarle Ritvanen See LICENSE file for license details --]] module(..., package.seeall) +local ErrorDict = require('acf.error').ErrorDict local RootModel = require('acf.model').RootModel local object = require('acf.object') local super = object.super @@ -121,7 +122,9 @@ function Transaction:search(path) return self.root:search(pth.split(path)) end function Transaction:commit() self:check() - for _, func in pairs(self.validate) do func() end + local errors = ErrorDict() + for path, func in pairs(self.validate) do errors:collect(func) end + errors:raise() local mods = {} local handled = {} |