Histórico da Página
...
Abaixo temos um exemplo de como implementar o permissionamento em datasets avançados.
Bloco de código | ||||||
---|---|---|---|---|---|---|
| ||||||
function createDataset(fields, constraints, sortFields) { var newDataset = DatasetBuilder.newDataset(); try{ var dataset = ""; var filter = []; var currentUser = getValue("WKUser"); //Código do usuário logado var currentCompany = getValue("WKCompany"); //Código da empresa do usuário logado var groupCode = "grupo"; //Código do grupo que o usuário precisa pertencer para passar na validação. dataset = "colleagueGroup" //Nome do dataset que pesquisa a relação de grupos e usuários. filter= [DatasetFactory.createConstraint("colleagueGroupPK.companyId", currentCompany , currentCompany, ConstraintType.MUST), DatasetFactory.createConstraint("colleagueGroupPK.colleagueId", currentUser , currentUser, ConstraintType.MUST), DatasetFactory.createConstraint("colleagueGroupPK.groupId", groupCode, groupCode, ConstraintType.MUST)]; //Cria o filtro para empresa, usuário e grupo. /** Codigo para pesquisar por papel ao invés de grupo. * var roleCode = "papel"; //Código do papel que o usuário precisa pertencer para passar na validação. dataset = "workflowColleagueRole" //Nome do dataset que pesquisa a relação de papéis e usuários. filter= [DatasetFactory.createConstraint("workflowColleagueRolePK.companyId", currentCompany , currentCompany, ConstraintType.MUST), DatasetFactory.createConstraint("workflowColleagueRolePK.colleagueId", currentUser , currentUser, ConstraintType.MUST), DatasetFactory.createConstraint("workflowColleagueRolePK.roleId", roleCode, roleCode, ConstraintType.MUST)]; */ var validation = DatasetFactory.getDataset(dataset, null, filter, null); //Realiza a chamada do dataset if(validation.rowsCount==1){ //Se tiver uma linha quer dizer que o usuário logado faz parte do grupo/papel informado //Esse retorno é só para informar que passou da validação, mas aqui dentro ficaria o codigo que o usuário tem permissão de acesso. newDataset.addColumn("SUCCESS"); newDataset.addRow(["ok"]); } else { //Esse retorno é só para informar que o usuário não faz parte do grupo/papel. newDataset.addColumn("ERROR"); newDataset.addRow(["sem permissão"]); } } catch(e) { newDataset.addColumn("ERROR"); newDataset.addRow(["chamada incorreta"]); return newDataset; } return newDataset; } |
...
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas