Source code for ploneintranet.workspace.events
from zope.interface import implementer
from zope.interface import implements
from zope.component.interfaces import ObjectEvent
from zope.lifecycleevent import ObjectModifiedEvent
from ploneintranet.workspace.interfaces import (
IObjectModifiedAfterCreationEvent,
) # noqa: E501
from ploneintranet.workspace.interfaces import IParticipationPolicyChangedEvent
from ploneintranet.workspace.interfaces import IWorkspaceRosterChangedEvent
from ploneintranet.workspace.interfaces import (
IWorkspaceCreatedFromTemplateEvent,
) # noqa: E501
[docs]class ParticipationPolicyChangedEvent(ObjectEvent):
""" Event class, which is fired once the participation policy
of the workspace has changed
"""
implements(IParticipationPolicyChangedEvent)
def __init__(self, ob, old_policy, new_policy):
super(ParticipationPolicyChangedEvent, self).__init__(ob)
self.old_policy = old_policy
self.new_policy = new_policy
[docs]class WorkspaceRosterChangedEvent(ObjectEvent):
"""
Event, which is fired once the roster of a workspace had changed
"""
implements(IWorkspaceRosterChangedEvent)
def __init__(self, ob):
super(WorkspaceRosterChangedEvent, self).__init__(ob)
[docs]class WorkspaceCreatedFromTemplateEvent(ObjectEvent):
implements(IWorkspaceCreatedFromTemplateEvent)
[docs]@implementer(IObjectModifiedAfterCreationEvent)
class ObjectModifiedAfterCreationEvent(ObjectModifiedEvent):
""" Like ObjectModifiedEvent, but only fired in the special case where we
set the fields of an object after first creating it empty. Can be used
like an ObjectCreatedEvent in plain Plone.
"""