【发布时间】:2014-06-01 19:05:02
【问题描述】:
在平台内删除记录时,此操作不可通过前端撤消。有没有办法让用户从他们的视图中删除记录而不实际删除记录?
【问题讨论】:
标签: recycle-bin archer rsa-archer-grc
在平台内删除记录时,此操作不可通过前端撤消。有没有办法让用户从他们的视图中删除记录而不实际删除记录?
【问题讨论】:
标签: recycle-bin archer rsa-archer-grc
您可以通过添加记录权限字段来模拟 Archer GRC 中的回收站功能,该字段授予“所有人”的读取权限。如果不再需要读取权限,则记录的编辑者可以进入并将“所有人”更改为名为“回收站”的组。
请注意,如果应用程序中还有其他记录权限字段,如果用户或组在这些字段中被选中,他们可能仍然具有访问权限。或许您可以设置一个下拉状态字段供用户选择“回收站”,并使用此条件自动记录权限,以根据应用程序的要求或工作流程撤销对记录的权限。
【讨论】:
Igritte 共享的解决方案可能会让最终用户感到有些困惑。 最终用户将在顶部工具栏中看到灰色的“删除”按钮,但他必须在表单中选择“回收站”。我的企业主有时不接受此解决方案。
作为“软删除”的解决方法,我编写了一个自定义对象来覆盖“删除”按钮功能。
1. 用户没有删除记录的权限,因此 JavaScript 代码将使“删除”按钮看起来像活动且可用。
2. 单击按钮后,自定义对象将在
隐藏值列表并模拟单击“保存”按钮。
更新:请注意,自定义对象需要在页面加载后首先隐藏值列表。在这里,您将需要使用 JavaScript 并执行以下操作: [a] 定位值列表 DOM 对象并 [b] 将显示属性设置为无。我使用 jQuery 库来做这两件事。这样您的值列表不会显示,但您仍然可以使用它来控制数据驱动的事件。
3. 填充并提交隐藏值后,记录权限将对最终用户隐藏此记录。
请注意,自定义对象也会在布局上隐藏一个值列表。
如果由于某种原因 JavaScript 无法正确加载,用户将无法单击灰显的“删除”按钮。
更新: 隐藏值列表也可以使用 JavaScript 代码由自定义对象填充。您需要在页面的 HTML 代码中识别表单标签“input”并将属性“value”设置为所需的状态。我也使用 jQuery 库来执行此操作。
我有这个解决方案在生产中与 IE11、FF 和 Chrome 一起工作得很好。
我不能分享代码,但是通过 WC3Schools JavaScript 指南和 4 小时,您可以用很少的 JavaScript 技能自己编写和测试它。
有时,当您想要获得不可用功能的用户友好解决方案时,您必须使用自定义对象。
祝你好运!
【讨论】: