Plone的废纸篓。由Ecreall提供。
项目描述
这是Plone的垃圾桶实现。此产品对PloneCatalog.searchResults和PloneCatalog.__call__进行了猴子补丁。从版本1.2开始,此产品仅在Plone >= 3.3(包括Plone 4.x)上工作。
此产品在页面底部添加了“移动到垃圾桶”/“还原”操作和“打开垃圾桶”/“关闭垃圾桶”链接。
当你将对象移动到垃圾桶时,实际上并没有移动任何地方。这只是从搜索中隐藏了对象。该操作实际上是在对象上设置一个标记接口ITrashed,如果是文件夹,则在子对象上设置。它还会将对象排除在导航之外。
要查看垃圾桶中的对象,您必须通过页面底部的“打开垃圾桶”链接激活垃圾桶模式。你可以把它看作是一个平行世界。你将只看到垃圾桶中的对象,现在搜索只针对垃圾桶内容。
在此模式下,您可以还原对象。如果父对象已移动到垃圾桶,则无法还原对象。在这种情况下,您必须将对象剪切并粘贴到一个非垃圾桶文件夹中才能恢复它。
当您处于垃圾桶模式时,会进行一些验证。例如,您不能将对象粘贴到垃圾桶文件夹中。
要返回正常模式,请单击页面底部的“关闭垃圾桶”链接。当关闭垃圾桶模式时,它将返回最近的非垃圾桶父对象。
代码仓库: https://svn.ecreall.com/public/ecreall.trashcan/
与CacheFu集成
在plone-containers规则中,编辑“ETag表达式”,将
python:request.get('__cp',None) is not None
替换为
python:str(request.get('__cp',None) is not None) +'|'+ str(request.SESSION.get('trashcan', None))
与plone.app.caching集成
如果您在文件夹视图中使用了plone.app.caching的缓存,请将‘trashed’添加到您的etags中。
变更日志
1.7.2 (2017-01-04)
在isTrashcanOpened中,使用get_session而不是request.SESSION来避免在没有当前会话对象的情况下创建会话对象。[vincentfretin]
1.7.1 (2016-12-05)
对获取etag垃圾桶中的会话进行了更好的修复。[vincentfretin]
1.7 (2016-12-02)
修复了获取etag垃圾桶中的会话。[vincentfretin]
修复:如果没有session_data_manager(例如在测试中),则不会崩溃。[cedricmessiant]
1.6 (2014-11-14)
使用session_data_manager.getSessionData(create=False)来检索会话而不是执行request.SESSION,因为它使用session_data_manager.getSessionData(create=1)并为每个webdav请求创建一个TransitoryObject(因为它不使用cookie),最终您会得到“MaxTransientObjectsExceeded:1000 exceeds maximum number of subobjects 1000”
1.5.2 (2014-06-02)
HTML:从操作img中删除标题。[thomasdesvenain]
如果我们实际上处于RemovedObjectEvent中,则不再尝试在pasteObject订阅者中提供ITrashed。这修复了删除collective.alias内容。[vincentfretin]
1.5.1 (2013-10-02)
修复了使用BooleanIndex。[thomasdesvenain]
1.5 (2013-09-18)
在内容上添加了垃圾桶和还原通知事件。[thomasdesvenain]
添加了更多元数据包。[macagua]
重命名README文件。[macagua]
更新了主模板和翻译。[macagua]
添加了西班牙语翻译。[macagua]
添加了更多关于i18n的改进。[macagua]
添加了通用设置卸载配置文件。[macagua]
更新了用于更新和生成gettext文件的bash脚本。[macagua]
添加了.gitignore文件。[macagua]
为object_restore和object_trash脚本添加了ajax模式。[thomasdesvenain]
为门户消息安全地使用unicode。[thomasdesvenain]
添加了带有快捷方法的api模块。[thomasdesvenain]
我们可以强制垃圾桶索引搜索。[thomasdesvenain]
1.4.1 (2012-09-17)
修复了MANIFEST.in。
1.4 (2012-09-17)
优化:在垃圾桶或还原时只重新索引垃圾桶和object_provides索引。[thomasdesvenain]
删除了grok依赖。[thomasdesvenain]
4.2.1兼容性。[thomasdesvenain]
添加了打开/关闭垃圾桶的新UI。[thomasdesvenain]
修复了安全问题。[thomasdesvenain]
1.3.1 (2011-12-22)
为垃圾桶索引使用BooleanIndex。[thomasdesvenain]
1.3.0 (2011-09-22)
Plone 4.x兼容性。
为plone.app.registry添加了Etag。[thomasdesvenain]
在searchResults中,我们可能无法获取REQUEST,已修复。[vincentfretin]
1.2.1 (2010-09-23)
垃圾桶消息是“警告”类。
更改了垃圾桶警告的标签:退出垃圾桶按钮“可能不在页面底部”
将“five:implements class”指令替换为“class implements”指令。
在获取会话前测试请求中是否存在会话。这对于没有会话的测试环境是必需的。
1.2 (2009-12-18)
移除了livesearch_reply.py和queryCatalog.py。现在直接使用collective.monkeypatcher修改PloneCatalog。这解决了集合中看到的垃圾元素问题。本版本需要Plone 3.3。[vincentfretin]
1.1 (2009-03-11)
首次公开发布。
添加了一个空的canTrash脚本,您可以在另一个产品中覆盖它。
在导航中排除垃圾对象。[vincentfretin]
1.0 (2009-02-23)
使用ZopeSkel创建了产品。[Vincent Fretin和Michael Launay]
下载
项目详情
ecreall.trashcan-1.7.2.tar.gz的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 770d74815040da99ab45757bb31221b82bb687b769e1c02ba66a9c279c68e4cf |
|
MD5 | dd4bb0623f408a7dc4e099a289b48c45 |
|
BLAKE2b-256 | 56c3946a5eefd5f6bbb6d810b2bb09dc30d07bd86db2c292c71cf3c3ffc34aa7 |