【发布时间】:2019-04-29 21:25:00
【问题描述】:
我正在考虑创建一组基于组的权限角色,然后根据这些角色细节过滤他们从数据源中看到的数据,但我似乎无法让它如我所愿。
为了获得概念证明,我只是尝试过滤名册数据源并拥有以下服务器端脚本:
function roleCheckAgents(user)
{
var userRoles = app.getActiveUserRoles();
var query = app.models.Agents.newQuery();
if(userRoles.indexOf(app.roles.testRole) >= 1){
if(app.models.Agents.getRecords().filter().
query.filters.strRelatedCompany._equals === "sampleCompany");
return query.run();
}
}
该组本身包含我的电子邮件和其他一些电子邮件,并列为testRole。在代理数据源安全性中,我已将 Load 列为脚本:roleCheckAgents(user)。
实际上,我想在一个角色中设置多个过滤器,例如Company === "sampleCompany" && Site === "sampleSite"等
任何帮助将不胜感激,因为我目前无法看到这将如何以我需要/想要的方式运行。
谢谢!
更新:
我能够让多个过滤器工作,但只能作为数据源的查询脚本。造成的问题是我已经在该部分中有查询构建器条件,您只能有查询构建器或查询脚本。
查询脚本的工作原理如下:
var query = app.models.Audits.newQuery();
if(app.getActiveUserRoles().indexOf(app.roles.Test) > -1)
{ query.filters.field1._contains = "center";
query.filters.field2._contains = "status";
return query.run();}
else
{}
当前的查询构建器项目是:
field1 contains? :searchText OR
field2 contains? :searchText OR
field3 contains? :searchText OR
field4 contains? :searchText OR
field5 contains? :searchText
关于如何将两者都作为查询构建器或查询脚本的一部分有什么想法?
谢谢。 克里斯托弗
【问题讨论】:
标签: google-app-maker