src/pyams_content/component/association/__init__.py
changeset 633 7ebe8a011c16
parent 255 38133975088e
child 841 d50743e69693
equal deleted inserted replaced
632:aa2352c824ca 633:7ebe8a011c16
    14 
    14 
    15 
    15 
    16 # import standard library
    16 # import standard library
    17 
    17 
    18 # import interfaces
    18 # import interfaces
    19 from pyams_content.component.association.interfaces import IAssociationItem, IAssociationTarget
    19 from pyams_content.component.association.interfaces import IAssociationItem, IAssociationContainerTarget
    20 from pyams_form.interfaces.form import IFormContextPermissionChecker
    20 from pyams_form.interfaces.form import IFormContextPermissionChecker
    21 from zope.lifecycleevent.interfaces import IObjectAddedEvent, IObjectModifiedEvent, IObjectRemovedEvent
    21 from zope.lifecycleevent.interfaces import IObjectAddedEvent, IObjectModifiedEvent, IObjectRemovedEvent
    22 
    22 
    23 # import packages
    23 # import packages
    24 from persistent import Persistent
    24 from persistent import Persistent
    50 class AssociationItemPermissionChecker(ContextAdapter):
    50 class AssociationItemPermissionChecker(ContextAdapter):
    51     """Association item permission checker"""
    51     """Association item permission checker"""
    52 
    52 
    53     @property
    53     @property
    54     def edit_permission(self):
    54     def edit_permission(self):
    55         content = get_parent(self.context, IAssociationTarget)
    55         content = get_parent(self.context, IAssociationContainerTarget)
    56         return IFormContextPermissionChecker(content).edit_permission
    56         return IFormContextPermissionChecker(content).edit_permission
    57 
    57 
    58 
    58 
    59 @subscriber(IObjectAddedEvent, context_selector=IAssociationItem)
    59 @subscriber(IObjectAddedEvent, context_selector=IAssociationItem)
    60 def handle_added_association(event):
    60 def handle_added_association(event):
    61     """Handle added association item"""
    61     """Handle added association item"""
    62     content = get_parent(event.object, IAssociationTarget)
    62     content = get_parent(event.object, IAssociationContainerTarget)
    63     if content is not None:
    63     if content is not None:
    64         get_current_registry().notify(ObjectModifiedEvent(content))
    64         get_current_registry().notify(ObjectModifiedEvent(content))
    65 
    65 
    66 
    66 
    67 @subscriber(IObjectModifiedEvent, context_selector=IAssociationItem)
    67 @subscriber(IObjectModifiedEvent, context_selector=IAssociationItem)
    68 def handle_modified_association(event):
    68 def handle_modified_association(event):
    69     """Handle modified association item"""
    69     """Handle modified association item"""
    70     content = get_parent(event.object, IAssociationTarget)
    70     content = get_parent(event.object, IAssociationContainerTarget)
    71     if content is not None:
    71     if content is not None:
    72         get_current_registry().notify(ObjectModifiedEvent(content))
    72         get_current_registry().notify(ObjectModifiedEvent(content))
    73 
    73 
    74 
    74 
    75 @subscriber(IObjectRemovedEvent, context_selector=IAssociationItem)
    75 @subscriber(IObjectRemovedEvent, context_selector=IAssociationItem)
    76 def handle_removed_association(event):
    76 def handle_removed_association(event):
    77     """Handle removed association item"""
    77     """Handle removed association item"""
    78     content = get_parent(event.object, IAssociationTarget)
    78     content = get_parent(event.object, IAssociationContainerTarget)
    79     if content is not None:
    79     if content is not None:
    80         get_current_registry().notify(ObjectModifiedEvent(content))
    80         get_current_registry().notify(ObjectModifiedEvent(content))