Índice |
---|
maxLevel | 4 |
---|
outline | true |
---|
exclude | .*ndice |
---|
style | none |
---|
|
Plataforma
Produto: fluig
Ocorrência
Em alguns casos, se tem a necessidade de definir os responsáveis de uma atividade de forma personalizada, considerando os dados do formulário. A partir da Atualização 1.5.12, disponibilizamos o uso da hAPI no Mecanismo de atribuição personalizado, entretando, é indicada apenas para solicitações já iniciadas, uma vez que a hAPI depende dos dados do formulário gravado na solicitação.
Quando é necessário considerar os dados do formulário no momento que está iniciando uma solicitação, aconselhamos customizar já no script do formulário, como é exemplificado abaixo.
Definindo os responsáveis conforme dados do formulário
Deck of Cards |
---|
effectDuration | 0.5 |
---|
history | false |
---|
id | samples |
---|
effectType | fade |
---|
|
Card |
---|
default | true |
---|
id | 1 |
---|
label | Passo 1 |
---|
|
Como exemplo, estaremos utilizando os Grupos "group1" e "group2" que devem ser alterados conforme grupo utilizado na plataforma. Criando o html, onde o usuário poderá escolher entre pegar os usuários de um grupo, ou, simplesmente enviar para o Pool de um Grupo.
Bloco de código |
---|
language | xml |
---|
title | formulario.html |
---|
linenumbers | true |
---|
| <!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" type="text/css" href="/portal/resources/style-guide/css/fluig-style-guide.min.css">
<script src="/portal/resources/js/jquery/jquery.js"></script>
<script src="/portal/resources/js/jquery/jquery-ui.min.js"></script>
<script src="/portal/resources/js/mustache/mustache-min.js"></script>
<script src="/portal/resources/style-guide/js/fluig-style-guide.min.js"></script>
<script src="../vcXMLRPC.js"></script>
<script src="formulario.js"></script>
</head>
<body>
<div class="fluig-style-guide">
<form role="form">
<input type="text" class="form-control fs-display-none" name="group_selected" id="group_selected">
<div class="panel panel-primary">
<div class="panel-heading">
<h3 class="panel-title">Selecione o Grupo</h3>
</div>
<div class="panel-body">
<div class="row">
<div class="col-md-6">
<div class="radio">
<label>
<input type="radio" name="list_group" value="group1" checked> Grupo 1
</label>
</div>
<div class="radio">
<label>
<input type="radio" name="list_group" value="group2"> Grupo 2
</label>
</div>
</div>
<div class="col-md-6">
<div class="checkbox">
<label>
<input type="checkbox" id="isPool" name="isPool"> Enviar para Pool
</label>
</div>
</div>
</div>
</div>
</div>
</form>
</div>
</body>
</html>
|
Bloco de código |
---|
language | js |
---|
title | formulario.js |
---|
linenumbers | true |
---|
| $(function() {
changeGroup(false);
FLUIGC.switcher.init('#isPool');
FLUIGC.switcher.onChange('#isPool', function(event, state) {
changeGroup(state);
});
$(".radio").change(function() {
var isPool = FLUIGC.switcher.getState('#isPool');
changeGroup(isPool);
});
function changeGroup(isPool) {
var group = $('input[name=list_group]:checked').val();
if (isPool) {
$("#group_selected").val("Pool:Group:" + group);
} else {
setColleaguesByGroup(group);
}
}
function setColleaguesByGroup(group) {
var filter = new Object();
var colleagueIds = "";
filter["colleagueGroupPK.groupId"] = group;
var colleagues = DatasetFactory.getDatasetValues("colleagueGroup", filter);
for (colleague in colleagues) {
if (colleagueIds) colleagueIds += ",";
colleagueIds += colleagues[colleague]["colleagueGroupPK.colleagueId"];
}
$("#group_selected").val(colleagueIds);
}
});
|
|
Card |
---|
| |
Após publicar o arquivo HTML e JS como formulário fluig, o resultado será esse.
Figura 1 - Visualizando o formulário.
|
Card |
---|
| |
Criar e vincular o Processo com o Formulário, publicado anteriormente. Definir a atividade para utilizar o Mecanismo "Atribuição por Campo de Formulário" e selecionar o campo "group_selected", campo hidden presente no HTML, que terá o valor dos responsáveis pela atrividade.
Figura 2 - Configurando Mecanismo de Atribuição. |
Card |
---|
|
- Feito os passos, a solicitação estará preparada para difinir os responsáveis conforme dados selecionados no formulário, neste exemplo, temos dois casos
- Selecionar o grupo e deixar o botão "Enviar para Pool" desligado: Será consultado o Dataset "colleagueGroup" para retornar os colaboradores do grupo;
- Selecionar o grupo e deixar o botão "Enviar para Pool" ligado: Não será consultado nenhum Dataset, o campo hidden ficará com o valor "Pool:Group:group_code", com isso, a atividade estará para em Pool, esperando que algum colaborador do grupo assuma a atividade.
Figura 2 - Configurando Mecanismo de Atribuição. |
|
...