Agrupar condições da UI Action

Alan Carvalho
Tera Contributor

Olá comunidade,

Qual a forma correta de agrupar as três condições abaixo em um só?

Tentei escrever dessas duas formas mais não consegui o resultado esperado.

  • gs.getUser().isMemberOf("bko.operacoes" && "servicedesk" && "seguranca")
  • gs.getUser().isMemberOf("bko.operacoes" || "servicedesk" || "seguranca")

find_real_file.png

6 REPLIES 6

Michael16
Tera Contributor

A função .isMemberOf aceita apenas um argumento por vez (o nome do grupo ou sys_id). Mas você pode também criar um Script Include que retorne uma matriz já definida dentro de uma função como no exemplo abaixo. 

 

 

var groupsInArray = ['bko.operacoes' , 'servicedesk' , 'seguranca'];

return groupsInArray;

 

Dessa forma ela vai percorrer cada um dos 3 grupos listados na matriz e verificar se o usuário for um membro de cada grupo.

Henrique7
Giga Guru

Caso queria manter a condição "OR" a maneira correta deveria ser:

current.request.requested_for == gs.getUserID() || (gs.getUser().isMemberOf('bko.operacoes') || gs.getUser().isMemberOf('servicedesk') || gs.getUser().isMemberOf('seguranca'));

//repare que usei a "()" para agrupar as condições
//repare que usei um metodo diferente para pegar o sys_id do usuário "gs.getUserID()"
//da maneira que esta representado acima o usuário deve ser o solicitante OU pertencer a um dos grupos especificados

Marque esta resposta caso tenha ajudado : )