Mercurial > p > roundup > code
diff doc/customizing.txt @ 2129:3fd672293712
add and use Reject exception [SF#700265]
| author | Richard Jones <richard@users.sourceforge.net> |
|---|---|
| date | Fri, 26 Mar 2004 00:44:11 +0000 |
| parents | 7109f83d5250 |
| children | 00dfd8b50773 |
line wrap: on
line diff
--- a/doc/customizing.txt Thu Mar 25 23:14:52 2004 +0000 +++ b/doc/customizing.txt Fri Mar 26 00:44:11 2004 +0000 @@ -2,7 +2,7 @@ Customising Roundup =================== -:Version: $Revision: 1.122 $ +:Version: $Revision: 1.123 $ .. This document borrows from the ZopeBook section on ZPT. The original is at: http://www.zope.org/Documentation/Books/ZopeBook/current/ZPT.stx @@ -586,6 +586,37 @@ db.issue.react('create', newissuecopy) +Auditor or Reactor? +------------------- + +Generally speaking, the following rules should be observed: + +**Auditors** + Are used for `vetoing creation of or changes to items`_. They might + also make automatic changes to item properties. +**Reactors** + Detect changes in the database and react accordingly. They should avoid + making changes to the database where possible, as this could create + detector loops. + +Vetoing creation of or changes to items +--------------------------------------- + +Auditors may raise the ``Reject`` exception to prevent the creation of +or changes to items in the database. The mail gateway, for example, will +not attach files or messages to issues when the creation of those files or +messages are prevented through the ``Reject`` exception. It'll also not create +users if that creation is ``Reject``'ed too. + +To use, simply add at the top of your auditor:: + + from roundup.exceptions import Reject + +And then when your rejection criteria have been detected, simply:: + + raise Reject + + Database Content ================
