6.4. Notifications management
CubicWeb provides a machinery to ease notifications handling. To use it for a
notification:
- write a view inheriting from
NotificationView. The usual view api
is used to generated the email (plain text) content, and additional
subject() and
recipients() methods
are used to build the email’s subject and
recipients. NotificationView provides default implementation for both
methods.
- write a hook for event that should trigger this notification, select the view
(without rendering it), and give it to
cubicweb.hooks.notification.notify_on_commit() so that the notification
will be sent if the transaction succeed.
6.4.1. API details
-
class cubicweb.sobjects.notification.NotificationView(req=None, rset=None, **kwargs)
abstract view implementing the “email” API (eg to simplify sending
notification)
-
cubicweb.hooks.notification.notify_on_commit(session, view, viewargs=None)
register a notification view (see
NotificationView) to be sent at
post-commit time, ie only if the transaction has succeeded.
viewargs is an optional dictionary containing extra argument to be given
to render_and_send()