javascript - 拉力赛应用SDK 2.0 : Filtering a store of Users by UserPermissions

标签 javascript extjs rally

我正在尝试构建一个仅由未禁用且对所选项目具有编辑权限的用户组成的商店。然而,UserPermissions 是 UserPermission 对象的数组,这使得这样的过滤器相当复杂。看来 UserPermission 可以是 WorkspacePermission 或 ProjectPermission 类型。因此,看起来我首先必须检查 UserPermission 的类型,然后检查 _refObjectName 是否包含所选项目和“编辑器”的名称,或者,更深入地研究 ProjectPermission 本身并检查项目的名称以及“编辑”的 Angular 色。我尝试使用 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 尚不支持复杂查询。您只能按 Angular 色或按用户查询,不能同时查询两者。”

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

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

最佳答案

您可以查询权限端点以确保该权限适用于编辑者,您可以按照此 link 查看该请求的 json .

要获取活跃用户的列表,您可以使用disabled = false来查询它们,例如this .

内存中拥有权限数据后,您可以过滤掉不具有编辑权限的用户,并将其与事件用户列表进行匹配。

关于javascript - 拉力赛应用SDK 2.0 : Filtering a store of Users by UserPermissions,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11146013/

相关文章:

javascript - 从链接中删除灯箱行为

javascript - 单击jquery,在页面加载时添加类

javascript - 发送预定消息

extjs - Sencha extjs 树面板节点,自动检测叶节点

java - 集会休息 Api : Query for all defects in project and all child projects

javascript - Mongoose,如何根据特定 bool 标志返回与架构相关的数据?

javascript - 如何从 ExtJS 包资源文件夹中获取自定义 JavaScript 文件

extjs - 如何从商店回调中获取响应码?

.net - 发布没有必填字段值的新缺陷时,Rally Rest .NET API 抛出 KeyNotFoundException

javascript - Rally App SDK 2.0rc1 - 为什么我的组合框仅在第一次单击时忽略数据存储过滤器?