操作面板
项目描述
imio.actionspanel
此软件包提供了一种视图和一个示例视图小部件,用于显示元素上可用的不同操作表。
默认情况下,可用的所谓部分包括
转换
编辑
自己的删除操作管理
操作
可添加的类型
对象历史
转换
这将显示不同的可用工作流转换,并由“renderTransitions”部分管理。
待确认的转换
您可以通过覆盖“_transitionsToConfirm”方法来指定“待确认的转换”,当用户触发转换时,将显示一个弹出窗口,允许用户添加评论并接受/取消工作流转换的触发。“_transitionsToConfirm”方法必须返回一个元组,指定“object_meta_type.transition_id”,可能如下所示:
- def _transitionsToConfirm()
return ('ATDocument.reject', 'ATDocument.publish', 'ATFolder.publish', 'Collection.retract',)
编辑
这将显示一个编辑操作,并由“renderEdit”部分管理。
默认情况下,它仅在useIcons为True时可用,因为useIcons本应用于显示多个元素的仪表板,而不是特定元素的视图。在元素视图中,编辑操作不会显示,因为它与已存在的“编辑”选项卡重复。
自己的删除管理
这种自己的删除管理是为了围绕必要的删除对象以在父对象上拥有“删除对象”权限的行为。在这里,即使用户没有对象父对象的“删除对象”权限,它也会执行删除操作。仅拥有要删除的对象上的“删除对象”权限就足够了。您还可以覆盖适配器“ContentDeletableAdapter”,以便能够定义一个“mayDelete”方法,该方法将执行您想要执行的任何操作来检查当前用户是否可以删除对象。它由“renderOwnDelete”部分管理。
可添加的类型
这将显示一个组合列表,显示如果它是容器,则可以在对象中添加的类型。它由“renderAddContent”部分管理。
对象历史
添加到对象的链接历史,并将显示在弹出窗口中。它由“renderHistory”部分管理。
翻译
此产品已翻译成
法语。
西班牙语。
您可以为缺失的消息或新语言做出贡献,加入我们加入Transifex.net服务中的PloneGov iMiO Team,与世界各地的Plone翻译者社区一起。
变更日志
1.68 (2024-06-07)
将JS代码移动到imio.helpers下的tmp_disable_link以避免在转换链接上双击,并使用它。[gbastien]
添加了有关
portal_type · Python 包索引 标题的还原代码。[gbastien]
1.67 (2024-05-27)
已还原版本1.65中引入的更改:使用
typeInfo.Title() · Python 包索引 获取portal_type · Python 包索引 的标题,而不是翻译typeInfo.title · Python 包索引 。[gbastien]
1.66 (2024-05-27)
添加了 onObjWillBeRemoved 事件处理器(默认情况下由 ZCML 禁用),它将在任何删除操作时检查 IContentDeletable.mayDelete 适配器。当使用 IContentDeletable 时启用它。[gbastien]
1.65 (2024-02-08)
使用 typeInfo.Title() 来获取 portal_type 的标题,而不是翻译 typeInfo.title。[gbastien]
1.64 (2023-10-27)
通过添加一个重新安装 imio.actionspanel 的步骤,修复了在 portal_setup 中显示的配置文件版本。[gbastien]
1.63 (2023-08-24)
如果可用,请使用 uid_catalog 删除通过 uid 视图[SUP-31827] [mpeeters]
1.62 (2023-02-27)
修复了在过渡期间发生异常时错误信息的渲染。[gbastien]
在删除元素时添加了新的操作 renderOwnDeleteWithComments=False,如果输入了评论,则删除操作(包括评论)将出现在被删除元素的父元素的历史记录中。[gbastien]
在 JS 函数 deleteElement 中,当参数 redirect=0 时,也调用事件 ap_delete_givenuid。[gbastien]
1.61 (2022-10-14)
默认情况下,在仅使用图标后强制执行重定向[fngaha]
1.60 (2022-02-04)
添加了在 WF 过渡后强制刷新页面的可能性,即使是在分面视图。[gbastien]
1.59 (2022-01-24)
在 actions_panel_actions 显示 object_buttons 时,使用动作上定义的 link_target,如果没有定义动作,则将其设置为 target=”_parent”。[gbastien]
1.58 (2022-01-14)
避免在 __init__ 中初始化 member,这可能导致成员成为 Anonymous。[gbastien]
修复了从分面触发过渡的检测,使用 imio.helpers 中的 has_faceted。[gbastien]
为图标定义 CSS 的宽度和高度,以便在计算 tooltipster 的大小时可以被 collective.js.tooltipster 重复使用。[gbastien]
将具有上下文 UID 的 CSS id 添加到 actions_panel 表中。[gbastien]
1.57 (2021-11-08)
当在 ActionsPanelView.triggerTransition 中发生错误时,确保我们得到返回的门户消息中的错误,并在 Zope 日志中记录完整的跟踪信息。[gbastien]
1.56 (2021-09-09)
修复了在消息中解释何时无法触发过渡时使用的箭头。[gbastien]
通过禁用链接 2 秒来防止在触发 WF 过渡时双击。[gbastien]
1.55 (2021-06-04)
当使用异步时实现方法 show,就像在不使用异步时那样,以确定是否必须显示视图小部件。[gbastien]
在 actions_panel_add_content.pt 中添加了 saveHasActions 调用。[sgeulette]
修复了 actions_panel_arrows.pt,以便在表格中显示箭头,以避免在显示空间不足时图标被放置在其他图标下面,操作必须始终位于同一行。[gbastien]
1.54 (2021-04-26)
修复了评论弹出窗口 Confirm 按钮上的损坏的 JS 事件,以防止默认行为,这可能会导致在 Firefox 上有时无法触发操作。[gbastien]
1.53 (2021-04-21)
修复了在 ActionsPanelView.getTransitions 中对过渡的检查,以确认信息,不要考虑给定过渡以确认的前缀是 meta_type,而将其视为 class name,就像在 dexterity 中那样,因为 meta_type 总是相同的,不再适用于区分内容。[gbastien]
将参数 forceRedirectOnOwnDelete=False 添加到 ActionsPanelView.__call__ 中,当删除元素时,默认情况下,如果当前上下文是分面,则用户不会重定向,但页面会重新加载,如果我们正在删除包含分面的页面,则需要重定向。[gbastien]
在 JS 函数 deleteElement 中,为 XHR 请求设置 async:true。[gbastien]
修复了 Firefox 中的错误,当 async:true 时,不执行 JS triggerTransition XHR 请求,这是由于在使用视图小部件显示操作的 @@async_actions_panel 时没有应用 preventDefaultClickTransition,它产生了 NS_BINDING_ERROR,因为触发了两个点击事件。[gbastien]
当不使用 useIcons 模式(即使用显示按钮的视图小部件)时,如果没有任何操作,则不要返回空 HTML 表格,只返回空值。这允许在使用 @@async_actions_panel 时隐藏整个视图小部件。[gbastien]
1.52 (2021-01-26)
修复了仅重新加载分面时删除元素的固定行为,由于JavaScript和Python代码之间的行为发生了变化,用户被重定向到默认仪表板。[gbastien]
1.51 (2020-12-07)
向JS函数confirmDeleteObject和deleteElement添加了参数view_name="@@delete_givenuid",以便在删除元素时调用其他视图。也可以避免刷新并手动管理。[gbastien]
确保包含动作的表格没有边框,特别是在<tr>上。[gbastien]
1.50 (2020-08-18)
使CSS规则对于input[type="button"].notTriggerableTransitionButton更具体,以便被考虑。[gbastien]
修复了在作为按钮显示时显示在不可触发的WF转换上的消息(标签标题),转换标题未包含在消息中。[gbastien]
1.49 (2020-06-24)
修复了已损坏的功能,当动作URL是javascript动作时,它不一定总是被考虑,因为未使用event.preventDefault()禁用标签<a>的href。[gbastien]
1.48.1 (2020-05-26)
需要imio.helpers。[gbastien]
1.48 (2020-05-26)
在DeleteGivenUidView.__call__中,使用带有参数check_contained_uids=True的imio.helpers.content.uuidsToObjects以获取要删除的对象,如果在
UID索引中找不到,则会使用如果存在,则在 portal_catalog 中使用的contained_uids 索引。[gbastien]
1.47 (2020-04-29)
添加了Transifex.net服务集成来管理翻译过程。[macagua]
添加了西班牙语翻译。[macagua]
在actions_panel_actions.pt中,在<input>周围添加了<form>,以便可以使用
overlays 。[gbastien]
1.46 (2020-02-18)
添加了renderFolderContents部分,根据以下标志和/或接口进行渲染。[sgeulette]
在views.AsyncActionsPanelView.__call__中,在调用@@actions_panel或ram_cached @@actions_panel.__call__之前从**kwargs中删除随机值‘_’ (ajax_load),因为kwargs始终不同,所以它们从未正常工作。
1.45 (2019-11-25)
更改了部分顺序。[sgeulette]
1.44 (2019-09-13)
默认情况下,在调用@@async_actions_panel时不要显示编辑操作。[gbastien]
1.43 (2019-09-12)
禁用了添加内容按钮列表的第一个选项。[sgeulette]
在选择按钮上添加了apButtonSelect类。[sgeulette]
不再将showEdit链接到showIcons。默认禁用视图中的showEdit。将编辑也渲染为按钮。[sgeulette]
1.42 (2019-06-28)
将ActionsPanelView.getTransitions的结果存储在self._transitions中,因为它被多次调用,以确保转换只计算一次。[gbastien]
在ConfirmTransitionView中,存储actionspanel视图而不是多次实例化它,因为对actionspanel.getTransitions的调用在actionspanel视图中被缓存。[gbastien]
1.41 (2019-06-07)
在
load_actions_panel JS函数中,如果发生错误或页面被重新加载,则不要重新加载。显示错误消息。[gbastien]当使用
string: 表达式时,不要插入空白,如string: ` 或它在渲染后会被保留。[gbastien]以与
ACCEPTABLE_ACTIONS 相同的方式管理IGNORABLE_ACTIONS ,因此我们首先过滤出所有不相关的动作,然后对其进行评估。删除了对IGNORABLE_CATEGORIES 和IGNORABLE_PROVIDERS 的管理,我们只保留object_buttons 和提供者portal_actions/portal_types 。[gbastien]
1.40 (2019-05-16)
修复了在元素上触发转换时不再可用(例如,已在另一个浏览器标签页中触发)时的Zope日志中的消息
KeyError: 'confirm' 。在这种情况下,我们只是刷新页面。[gbastien]修复了当只有不可触发的转换时,不调用
saveHasActions 。[gbastien]
1.39 (2019-03-27)
当显示动作且定义了ACCEPTABLE_ACTIONS时,直接与这些受限集合一起工作。更快的操作方法。[sgeulette]
添加参数 ActionsPanelViewlet.async(默认设置为False),以便能够使用JS Ajax请求异步渲染操作面板视图。将每个具有async:false的JS Ajax请求设置为在状态更改时刷新屏幕。[gbastien]
当“删除”在可接受操作中时禁用showOwnDelete。[sgeulette]
1.38 (2019-01-31)
安装 collective.fingerpointing,因为我们依赖于它。[gbastien]
默认情况下,不要在覆盖层中渲染视图。[gbastien]
1.37 (2018-11-06)
使用安全的Unicode过渡标题。[sgeulette]
1.36 (2018-08-22)
将 views._redirectToViewableUrl 逻辑移动到 utils.findViewableURL,以便外部代码可以使用。[gbastien]
不要使 actionspanel-no-style-table 的边距为空。[sgeulette]
1.35 (2018-05-22)
在 triggerTransition 中,不仅捕获 WorkflowException,因为引发错误可能属于其他类型。[gbastien]
当工作流转换期间发生错误时,确保我们 transaction.abort() 或 review_state 已经更改。[gbastien]
1.34 (2018-04-20)
在构建不可触发的转换图标帮助信息时,使用真正的箭头字符 🡒 而不是 ->。[gbastien]
修复了在取消转换确认弹出窗口时调用不存在的 actionspanel_view._gotoReferer() 方法的错误(仅当弹出窗口不正确地作为覆盖层打开时发生)。[gbastien]
1.33 (2018-03-19)
依赖 imio.history IHContentHistoryView.show_history 来确定是否显示历史图标。我们需要 imio.history >= 1.17。[gbastien]
1.32 (2018-01-06)
添加了在编辑操作上定义目标的可能性。为此,在 kwargs 中传递 edit_action_target 的值。[sgeulette]
1.31 (2017-11-10)
在对象按钮上添加了图标。[sgeulette]
添加了单独的外部编辑按钮 [sgeulette]
1.30 (2017-10-03)
依赖 collective.fingerpointing 进行日志记录功能,这替换了删除元素时的日志消息。[gbastien]
在 DeleteGivenUidView 中删除时发生错误时调用 transaction.abort,以避免使门户处于不一致的状态。[gbastien]
1.29 (2017-08-30)
当从分面页删除元素时触发JS事件 ap_delete_givenuid。[gbastien]
仅在元素的视图中显示操作面板视图,而不是在 folder_contents 等其他模板中,因为这些模板也显示按钮,用户可能会对此感到困惑。[gbastien]
为操作面板视图中的按钮和选择(添加内容)使用相同的类 apButton。[gbastien]
1.28 (2017-05-24)
向 DeleteGivenUidView 添加了参数 catch_before_delete_exception=True。默认情况下,它将捕获 BeforeDeleteException,但如果设置为False,则不会捕获它。这允许在其他方法中捕获异常。[gbastien]
当捕获到 BeforeDeleteException 时调用 reindexObject,因为此时对象已被取消索引。[gbastien]
1.27 (2017-05-10)
使用 api.adopt_roles 而不是创建超级用户来执行“自己的”删除操作。[sdelcourt]
使用 plone.api。[gbastien]
将 **kwargs 传递给 ContentDeletableAdapter.mayDelete。[gbastien]
1.26 (2017-04-13)
确保动作标题已翻译。[gbastien]
1.25 (2017-03-22)
在作为输入显示时显示动作的描述。[gbastien]
1.24 (2017-02-14)
在表单按钮上添加了类。更改了选择翻译。[sgeulette]
现在无法触发转换的原因的转换原因包含作为 zope.i18nmessageid.message.Message 实例的 msg,因此请将其翻译。这是因为在 appy No msg 属性不能是 unicode… [gbastien]
1.23 (2017-01-30)
修复了基于组条件的流程守卫检查。[sdelcourt]
1.22 (2017-01-23)
更正了与 collective.externaleditor >= 1.0.3 兼容的代码。[sgeulette]
1.21 (2016-12-21)
为 APOmnipotentUser 实现了 getGroups 方法,它返回一个空列表,因为默认实现将在 portal_groups 上引发一个 AttributeError。[gbastien]
1.20 (2016-12-05)
添加了在编辑操作上定义CSS类的可能性。为此,在 kwargs 中传递 edit_action_class 的值。这使得可以使用一个类,该类将使编辑操作启用覆盖。[gbastien]
添加了渲染移动元素到顶部/向上/向下/底部的箭头的部分,这仅在 useIcons 为 True 时出现。[gbastien]
在渲染包含门户类型标题的过渡按钮时,在门户类型类型Info定义的域中翻译门户类型标题,而不是在“plone”域中系统地翻译。[gbastien]
当删除一个元素时,检查JS方法deleteElement收到的响应是URL还是页面内容。如果引发重定向异常,我们接收整个页面内容而不是重定向的URL。[gbastien]
使用权限ManageProperties来保护renderArrows部分。确保在actions_panel_arrows.pt模板中正确调用saveHasActions。[gbastien]
检查当前上下文是否为文件夹式对象在addableContents中用于deleteElement部分,因为如果当前上下文不是文件夹式对象,则folder_factories返回父对象的可添加内容类型,这使得按钮在无法添加内容时出现,并且如果使用它,内容实际上被添加到父对象。[gbastien]
翻译工作流过渡标题,不再使用id [sgeulette]
1.19 (2016-06-22)
在渲染编辑动作时考虑外部编辑。[sdelcourt]
1.18 (2016-06-17)
使用window.open(url, _parent)来管理动作而不是window.location,这样新位置将在_parent框架中打开,这样,当从iframe打开时,位置不会在iframe中打开,而是在父/全框架中打开。[gbastien]
为notTriggerableTransition CSS类修复了CSS样式,使其在Chrome中正确显示。[gbastien]
1.17 (2016-04-15)
创建了一个可以覆盖的过渡排序方法。[sgeulette]
1.16 (2016-01-21)
删除元素时的消息(delete_confirm_message)现在更清楚地指明该元素将从系统中永久删除。[gbastien]
当在WF过渡期间引发WorkflowException时,显示异常消息,这样在beforeTransition事件中可能引发此异常并向用户显示特定消息。[gbastien]
1.15 (2015-12-03)
在由actions_panel_actions.pt渲染的动作上使用onClick而不是href>,以便能够为动作URL使用javascript方法。[gbastien]
为jQuery.ajax调用使用async:false,以便在IE和Chrome中显示ajax加载图像(旋转器)。[gbastien]
1.14 (2015-10-06)
将POST用作jQuery.ajax的类型,用于向工作流过渡添加注释,或者当注释过长时它将失败。[gbastien]
1.13 (2015-09-04)
过渡确认弹出窗口上显示的按钮的CSS [gbastien]
1.12 (2015-07-14)
使触发过渡和自己的删除意识到分面导航。如果操作在分面导航中执行,则仅重新加载分面页面,而不是整个页面 [gbastien]
如果没有可添加的内容,则隐藏添加菜单 [sgeulette]
1.11 (2015-04-23)
不要生成用于过渡的图像名称,而是使用过渡上定义的actbox_icon [gbastien]
1.10 (2015-04-01)
在过渡确认弹出窗口中使用翻译过的过渡标题 [gbastien]
简化了@@triggertransition视图,不再使用objectUID,我们使用上下文,因为视图是在它上面调用的,objectUID是遗留的且无用的 [gbastien]
1.9 (2015-03-30)
在注册表中存储要确认的过渡 [sgeulette]
向notTriggerableTransitionImage类添加一个小左外边距,以便在显示多个不可触发过渡操作时,它们不会粘在一起 [gbastien]
依赖imio.history来管理与历史相关的部分 [gbastien]
1.8 (2014-11-05)
删除了IObjectWillBeRemovedEvent,要么使用来自OFS.interfaces的相同事件,要么在AT的情况下,我们可能需要覆盖manage_beforeDelete,因为它在OFS对象删除机制中在IObjectWillBeRemovedEvent之前调用。
仅依赖于mayDelete方法而不是检查《删除对象》和mayDelete方法,这样,我们可能处理用户没有《删除对象》权限的情况,但我们仍然希望他能够删除元素,在这种情况下,所有逻辑都由mayDelete管理。
1.7 (2014-09-04)
按过渡标题排序过渡,在显示多个过渡时更容易使用。
修复了当触发不需要确认的过渡的链接时,没有包含视图名称,只包含参数的bug。这导致用户被重定向到对象视图,而无法从其他位置触发过渡。
1.6 (2014-08-21)
在 _computeBackURL 中添加了子方法 _findViewablePlace,以便管理当成员处于刚刚删除的对象上时,如何重定向成员。这使得仅覆盖 _findViewable 方法成为可能,同时保留 _computeBackURL 的其他部分,该部分负责管理成员不在刚刚删除的对象上的情况。
现在可以以与 actions_panel 不同的名称注册自定义 action_panels 视图。
1.5 (2014-08-20)
适配了 _transitionsToConfirm 方法,使其能够提供用于确认弹出窗口的自定义视图名称。
1.4 (2014-08-19)
将对象的删除时的完整回退 URL 计算移动到 _computeBackURL,不仅限于我们刚刚删除的对象。
在主 action_panel 表上添加了 CSS 类 actionspanel-no-style-table,并为它定义了样式以删除任何边框/边距/填充。
1.3 (2014-08-19)
添加了一个部分,如果 useIcons 为 True,则渲染对象的链接到历史记录。
现在,不可触发的转换也使用图标显示,如果 useIcons 为 True,则之前不可触发的转换始终以按钮形式显示,无论 useIcons 是否为 True 或 False。
简化了计算可添加内容的函数,默认的 folder_factories 执行所有工作。
管理在对象上触发转换后,该对象对当前用户不再可访问的情况,将其重定向到可查看的位置。
1.2 (2014-07-01)
不要在 uid_catalog 中查找对象 UID,使用 dexterity 时会失败,使用 portal_catalog 或检查上下文 UID 如果元素未索引。
如果未显示任何操作且未使用图标,则不显示 -。
在动作面板视图中实现 __call__ 而不是 render,以便调用视图更简单。
显示添加内容操作。
1.1 (2014-04-03)
优化为 listing-aware,通过将不会更改的参数存储在请求中来进行一些缓存,从而避免每次实例化视图时重新计算。
修复了在确认弹出窗口中触发转换并导致结果对象不再可访问时的错误,弹出窗口被重新计算并引发未经授权的错误。
1.0 (2014-02-12)
初始发布
项目详细信息
imio.actionspanel-1.68.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | b241a1dee57dad2335c6f19e2765cccdd3eaa832a6201bff4a06c4354d8f29f4 |
|
MD5 | cb58d4df81a6a36544f3c8a19e7bb974 |
|
BLAKE2b-256 | 23046901b03e532ebe9ff30d39938c54134cc5a43f3e79adc407d926f63f4dce |