2

删除平台内的记录时,此动作不可通过前端撤消。有没有办法允许用户从他们的视图中删除记录而不实际删除记录?

4

2 回答 2

1

您可以通过添加一个记录权限字段来模拟 Archer GRC 中的回收站功能,该字段授予“所有人”的读取权限。如果不再需要读取权限,则记录的编辑者可以进入并将“所有人”更改为名为“回收站”的组。

请注意,如果应用程序中还有其他记录权限字段,如果在这些字段中选择了用户或组,他们可能仍然具有访问权限。也许您可以为用户设置一个下拉状态字段以选择“回收站”,并使用此条件自动记录权限,以根据应用程序的要求或工作流程撤销对记录的权限。

于 2014-06-02T01:47:59.140 回答
0

Igritte 分享的解决方案可能会让最终用户感到有些困惑。最终用户将在顶部工具栏中看到灰色的“删除”按钮,但他必须在表单中选择“回收站”。我的企业主在某些时候不接受此解决方案。

作为“软删除”的解决方法,我编写了一个自定义对象来覆盖“删除”按钮功能。

1. 用户没有删除记录的权限,因此 JavaScript 代码将使“删除”按钮看起来像活动且可用。

2. 单击按钮后,自定义对象将在隐藏值列表中填充值并模拟单击“保存”按钮。
更新:请注意,加载页面后,自定义对象需要先隐藏值列表。在这里,您将需要使用 JavaScript 并执行以下操作: [a] 定位值列表 DOM 对象并 [b] 将显示属性设置为无。我使用 jQuery 库来做这两件事。这样您的值列表不会显示,但您仍然可以使用它来控制数据驱动的事件。

3. 填充并提交隐藏值后,记录权限将对最终用户隐藏此记录。请注意,自定义对象也会在布局上隐藏一个值列表。如果由于某种原因 JavaScript 无法正确加载,用户将无法单击灰显的“删除”按钮。
更新:隐藏值列表也可以使用 JavaScript 代码由自定义对象填充。您需要在页面的 HTML 代码中识别表单标签“input”并将属性“value”设置为所需的状态。我也使用 jQuery 库来执行此操作。

我有这个解决方案在生产中与 IE11、FF 和 Chrome 一起工作得很好。我不能分享代码,但是通过 WC3Schools JavaScript 指南和 4 个小时,你可以用很少的 JavaScript 技能自己编写和测试它。有时,当您想要获得不可用功能的用户友好解决方案时,您必须使用自定义对象。

祝你好运!

于 2015-06-08T04:04:13.980 回答