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)[source]#

abstract view implementing the “email” API (eg to simplify sending notification)

cubicweb.hooks.notification.notify_on_commit(cnx, view, viewargs=None)[source]#

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()