コード例 #1
0
ファイル: subscriber.py プロジェクト: CGTIC/Plone_SP
def at_handle_target_deletion(ref, event):
    """
    Invalidate any pointer before object deletion
    """
    target = ref.getTargetObject()
    for field in ISchema(target).fields():
        if IAmWickedField.providedBy(field):
            wicked = utils.getWicked(field, target)
            wicked.unlink(ref.sourceUID)
            break
コード例 #2
0
def at_handle_target_deletion(ref, event):
    """
    Invalidate any pointer before object deletion
    """
    target = ref.getTargetObject()
    for field in ISchema(target).fields():
        if IAmWickedField.providedBy(field):
            wicked = utils.getWicked(field, target)
            wicked.unlink(ref.sourceUID)
            break
コード例 #3
0
def at_handle_target_moved(obj, event):
    """
    when a target of a link is moved, or renamed we need to notify any
    objects that may be caching pointers
    """
    #@@ add more tests
    if IObjectRemovedEvent.providedBy(event):
        return

    refs = obj.getRefs(relationship=config.BACKLINK_RELATIONSHIP)
    path = '/'.join(obj.getPhysicalPath())
    for target in refs:
        for field in ISchema(target).fields():
            if IAmWickedField.providedBy(field):
                wicked = utils.getWicked(field, target)
                uid = IUID(obj)
                data = dict(path=path, icon=obj.getIcon(), uid=uid)
                wicked.cache.reset(uid, [data])
コード例 #4
0
ファイル: subscriber.py プロジェクト: CGTIC/Plone_SP
def at_handle_target_moved(obj, event):
    """
    when a target of a link is moved, or renamed we need to notify any
    objects that may be caching pointers
    """
    #@@ add more tests
    if IObjectRemovedEvent.providedBy(event):
        return

    refs=obj.getRefs(relationship=config.BACKLINK_RELATIONSHIP)
    path = '/'.join(obj.getPhysicalPath())
    for target in refs:
        for field in ISchema(target).fields():
            if IAmWickedField.providedBy(field):
                wicked = utils.getWicked(field, target)
                uid = IUID(obj)
                data = dict(path=path,
                        icon=obj.getIcon(),
                        uid=uid)
                wicked.cache.reset(uid, [data])