我想阻止在Plone中删除文件夹类型的实例,除非父节点文件夹被删除。我有一个预感,事件处理程序可以防止删除(引发绑定到标记接口的IObjectRemovedEvent
处理程序中的异常),但实现此规则的例外似乎更难以固定:我想允许删除项目,当其父项文件夹正在被删除。防止删除Plone中的文件夹(类型),除非父节点被删除
我最初的预感是我可以遍历__parent__
指针并检查是否在父元素(或某个远程间接容器)上设置了一个属性,但是我不知道如何在删除时设置此属性在试图删除所包含的孩子之前(否则不允许删除)。所以现在,我在质疑我是否以正确的方式接近这一点?我误解了在Plone中删除对象的问题限制吗?我应该看plone.app.linkintegrity来源借用技巧?
我的用例:“项目”文件夹中的“设置文件夹” - 本质上,除非项目文件夹本身被删除,否则绝不允许删除设置文件夹。我想我正在寻求一种非常具体的遏制关系的参照完整性。
你会如何防止删除一个对象,除非它被删除的情况下,直接导致它的父对象被删除?
你可以重新设计你的情况下,为了使“设置”成为“项目”的图式。它不是那样工作吗? – tcurvelo