Source code for ploneintranet.notifications.events.base
# -*- coding: utf-8 -*-
from ..interfaces import IMessageClassHandler
from ..interfaces import IMessageFactory
from zope.component import getAdapter
from plone import api
[docs]def base_handler(obj, event):
""" This is a very basic handler that creates a message
for the event object and spreads it with a dedicated handler
"""
message = IMessageFactory(obj)()
handler = getAdapter(obj, IMessageClassHandler, name=message.predicate)
handler.add(message)
[docs]def status_update_handler(obj, event):
if not obj.mentions:
return
message = IMessageFactory(obj)()
tool = api.portal.get_tool("ploneintranet_notifications")
for userid in obj.mentions.keys():
tool.append_to_user_queue(userid, message.clone())