为登录用户筛选视图面板

Filter viewpanel for logged in user

本文关键字:视图 筛选 登录 用户      更新时间:2023-09-26

我正在工作一个任务管理器web应用程序与xpages。我有一个视图面板,显示分配给所有员工的任务。应用程序的管理员可以看到所有分配的任务。

然而,应用程序(雇员)的每个用户必须只看到属于他的任务。我想知道如何使登录用户只看到属于他的任务。是否存在与按类别(员工类别)过滤视图不同的其他解决方案?

因为这个解决方案需要我创建两个视图面板,一个用于管理员,另一个用于员工分类。

在您的视图面板中,有一个"按类别名称筛选",您可以在其中仅显示当前用户的项目。您可以通过全局"session"对象获得SSJS中的用户名。在使用它之前,您需要创建一个您可能已经拥有的分类视图。

您可以使管理员看到所有类别,或者继续使用仅对管理员可见的不同视图面板。

假设您有一个管理员角色,我可以想到两种方法。

  1. 将创建一个组合框,隐藏该组合框,除非你是该角色的成员,然后使用组合框选择是否要按用户名或所有内容进行过滤。

  2. 如果您是admin角色的成员,则计算视图上的类别过滤器以显示所有内容,如果您不是,则按用户名进行过滤。

视图中的Category可以是多值的,例如:

Assignee : "*"

数据源的类别属性可以根据角色计算:

return isAdmin() ? "*" : username;