plone.app.iterate中的@@ iterate_diff视图是否适用于plone.app.stagingbehavior?

时间:2012-09-11 05:21:52

标签: plone dexterity

我有一个使用dexterityplone.app.stagingbehavior安装的自定义类型。我可以签入并签出我的自定义类型,但是尝试查看diff会导致堆栈跟踪,因为plone.app.iterate.browser.diff.DiffView似乎不知道如何获得使用dexterity / pa制作的对象的基线和工作副本版本stagingbehavior。

我确实尝试重写DiffView并将其更改为使用来自plone.app.stagingbehavior.utils的get_baseline和get_working_copy,但差异视图仍然不起作用(有一个不同的例外,在Products.Archetypes中有一万级深度,所以我假设它不太可能工作)。也许collective.dexteritydiff在这一点上会有所帮助。

这有点令人困惑,因为pastagingbehavior在其plone.app.iterate.checkout_info portlet的版本中包含了一个指向@@ iterate_diff的链接,这让我认为它打算工作,也许我的设置被破坏或者我做错了什么

1 个答案:

答案 0 :(得分:0)

问题是由于plone.app.iterate.browser.diff.DiffView尚未与敏捷兼容。 diff-view调用context.getReferences,它会在灵巧对象上引发AttributeError。由于这种情况发生在__init__方法中,因此会吞噬回溯。它应该使用__call__和代码来获取plone.app.stagingbehavior.utils之类的引用。

相关问题