Notification recipients – system description
Data model of the recipient rows, validation on save, quick subscription from the partner and person forms, and content filtering of the tile and the search helpers.
Overview
Who (user, person or free address) receives notifications per module and event, and for which period. The screen is a menu item and a tile on the partner and person forms. Table names carry the installation's own prefix in the database.
Data model
| Table | Role |
|---|---|
mail_notify | client, module, event, channel, recipient type (user, person or free address), to or other kind, object, from–to, status |
person, person_email, person_object | resolving a person recipient (read) |
Saving
- Permission:
canSave(notify, id); forsubscribecanSave(notify, 0); statuscanAction(edit). - Module required; exactly one recipient type; the free address is validated; the date range is checked.
notify.subscribe(quick subscription) maps to the sharedaddRow()with duplicate check and client scope.
Endpoints
notify.list: list;notify.tile: partial for the partner and person form, with a content check in client view.notify.searchuser,notify.searchperson: users and persons within the content scope.notify.enable,notify.disable; deletion is permanent or status 9 depending on the permission.
Permissions
Keys: list, add, edit, delete, statusdelete, debug; not classified in the seeds, in practice UNMAPPED.