1

我正在尝试构建一个仅包含未禁用且对所选项目具有编辑权限的用户的商店。但是,UserPermissions 是一个 UserPermission 对象数组,这使得这样的过滤器相当复杂。似乎 UserPermission 可以是 WorkspacePermission 或 ProjectPermission 类型。因此,看起来我首先必须检查 UserPermission 的类型,然后检查 _refObjectName 是否包含所选项目的名称和“编辑器”,或者,深入研究 ProjectPermission 本身并检查项目的名称和“编辑”的角色分开。我试图使用 filterBy 函数,传入一个接受记录和 id 的函数,但我无法命中我在该函数中设置的断点,所以我不知道它是否有效。组合框中显示的结果似乎与我查询的内容不匹配。有什么建议么?

Edit1:我尝试将查询修改为特定项目名称的范围,但我收到此错误:“无法解析:查询表达式中不允许类型 ProjectPermission 上的属性 \"Project\"。” 有没有办法解决这个问题?

这是修改后的查询,不包括实际的项目名称: https ://rally1.rallydev.com/slm/webservice/x/ProjectPermission.js?pagesize=1&fetch=true&includeSchema=true&includeMeta=true&query=%28%28Role%20=% 20Editor%29%20AND%20%28Project.Name%20%3D%20%22 {此处的项目名称} %22%29%29

Edit2:只是想有人可能想知道。我在尝试向查询添加另一个参数以按用户的 DisplayName 过滤时收到此错误。

“无法解析:UserPermission 尚不支持复杂查询。您只能按角色或按用户查询,不能同时按两者。”

Edit3:我在调用根据用户的 DisplayName 获取用户的所有项目权限时遇到了额外的麻烦。就我而言,查询已按应有的格式格式化。但是,只返回某些用户的结果,我不知道为什么不包括其他用户。我什至尝试修改它以查询名字,并且用户的权限不包含在结果集中。

https://rally1.rallydev.com/slm/webservice/x/ProjectPermission.js?pagesize=200&fetch=true&includeSchema=true&includeMeta=true&query=%28User.DisplayName%20%3D%20%22 {在此处插入名称} %22% 29

4

1 回答 1

0

您可以查询 Permissions 端点以确保该权限适用于编辑器,您可以通过点击此链接查看该请求的 json 。

要获取活动用户列表,您可以使用 disabled = false 来查询他们,如下所示

一旦您在内存中拥有权限数据,您就可以过滤掉没有编辑权限的用户,并将它们与活动用户列表匹配。

于 2012-07-03T22:30:59.070 回答