实现新的权限“删除门户内容”
项目描述
collective.deletepermission
默认的Plone删除内容权限不允许删除无法删除文件夹本身的内容。
collective.deletepermission 包引入了一个额外的权限删除门户内容。通过将权限删除门户内容(我可以删除此内容对象)与权限删除对象(我可以删除此文件夹中的某物)分开,现在我们可以允许贡献者删除他创建的内容(所有者角色),而不允许他删除属于其他用户的文件夹和对象 - 即使在嵌套环境中。
实现细节
此包模拟补丁
manage_delObjects 的 AT BaseFolder 和 Dexterity Container
manage_cutObjects__roles__ 的 AT BaseFolderMixin 和 Dexterity Container
manage_pasteObjects__roles__ 的 AT BaseFolderMixin 和 Dexterity Container
cb_userHasCopyOrMovePermissionchecks 的 OFS CopySupport
并覆盖以下模板和脚本(皮肤)
folder_rename_form.cpt
object_rename.py
以实现新的删除门户内容权限。
现在,删除您想要删除的对象时,需要“删除门户内容”权限。在父对象上,仍然需要“删除对象”权限。这使得我们有了更多的灵活性,允许贡献者删除自己的内容,但无法删除其他内容。在下面的图中,您可以查看默认权限设置的情况以及是否可以被Contributor1删除。
- Rootfolder of Admin (not deletable) '- Document of Contributor1 (deletable) '- Subfolder of Admin (not deletable) '- Document of Contributor1 (deletable) '- Document of Contrubutor2 (not deletable)
在默认的Plone中,它看起来会是这样
- Rootfolder of Admin (not deletable) '- Document of Contributor1 (deletable) '- Subfolder of Admin (deletable) '- Document of Contributor1 (deletable) '- Document of Contrubutor2 (deletable)
这是由于在默认的Plone中,我们对父对象和对象都要求相同的权限。如果我们有两个级别,我们需要能够删除一些文件,我们最终总是让用户能够删除第二级的容器。
用法
将collective.deletepermission添加到您的buildout配置中
[instance] eggs += collective.deletepermission
安装通用设置导入配置文件。
链接
版权
本软件包的版权属于4teamwork。
collective.deletepermission受GNU通用公共许可证(版本2)许可。
变更日志
1.5.0 (2019-09-09)
添加Plone 5.1支持。[mbaechtold]
取消Plone 4.1支持。[jone]
1.4.0 (2016-09-22)
允许网站管理员在网站根目录上删除外部内容。[jone]
1.3.0 (2016-09-02)
还以与manage_cutObjects相同的方式修复manage_pasteObjects的安全声明。这样,就可以在不具有容器本身的“修改门户内容”权限的情况下,在容器中粘贴对象。[mathias.leimgruber]
1.2.1 (2015-08-12)
取消对ftw.upgrade的依赖。[jone]
1.2.0 (2015-02-17)
支持dexterity对象。[erral, libargutxi]
1.1.3 (2014-03-03)
修复使用“删除对象”保护manage_delObjects。在特定情况下,当只有删除内容(“删除门户内容”)的权限而没有从父容器删除的权限(“父对象的删除对象”)时,即使不应该这样做,删除也是可能的。[jone]
1.1.2 (2013-10-17)
复制不再需要“删除门户内容”。要求“删除门户内容”是意外引入的,因为它是为剪切修补而引入的。[jone]
1.1.1 (2013-06-04)
仅当容器有“删除对象”权限时才显示“删除”操作。[jone]
1.1 (2013-05-24)
在重命名对象时不需要“删除门户内容”权限。[buchi]
1.0 (2013-01-24)
初始发布 [mathias.leimgruber]
项目详情
collective.deletepermission-1.5.0.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 6547cbf874eb369e60d0fac0b51e78ecf61161a378fdc6c2d9021111ffc1e3b1 |
|
MD5 | 31668502df2bbcd4bbfe6ea6a794d96f |
|
BLAKE2b-256 | eee1741537fe031bdaac6c5605a8931fabb17e42b51756de3c809c223d3fd3e7 |