= Seleção de Usuários = Existe um pacote de plugins para possibilitar a seleção de usuários e grupos cadastrados no expresso. São quatro plugins divididos em dois grupos: == 1- Seleçao de um único usuário (para obter id) ou vários usuários (para obter e-mail). == === Plugin: wf_select_user_init === '''Descrição:''' insere código que referencia o arquivo js. '''Parâmetros:''' '''Exemplo de utilização:''' {wf_select_user_init} === plugin: wf_select_user === '''Descrição:''' insere os elementos HTML que permitem a seleção de usuários (ids/e-mails) '''Parâmetros:''' name : o nome do campo que irá receber o id do usuário selecionado (o nome do usuário selecionado estará no campo de formulário de nome "name" seguido do sufixo "_desc"). Quando for configurado para pegar o e-mail, os e-mails estarão no campo com o nome indicado por "name" e, o conteúdo será do tipo: "Usuário Um" , "Usuário Dois" (e assim por diante). id_value : valor de id de um usuário previamente selecionado. desc_value : nome de um usuário previamente selecionado (é ineficaz especificar somente o nome e não o id para deixar um usuário previamente selecionado). get_email : indica se deve ser buscado o e-mail ou o id. email_as_textarea : indica se o campo que receberá os emails deve ser um textarea (valor true) ou input type text (valor false). Este parâmetro só tem validade se get_email for true. hide_groups : indica se deve-se omitir os grupos na tela de seleção. organization : nome da organização que estará previamente selecionada. hide_organizations : indica se a selectbox de organizações deve ser ocultada ou não. Se for true, a selectbox ficará oculta. hide_sectors : indica se a selectbox de setores deve ser ocultada ou não. Se for true, a selectbox ficará oculta. title : texto da tooltip que aparecerá quando o usuário colocar o mouse sobre o ícone para adicionar usuário. onlyVisibleAccounts : indica se devem ser recuperadas apenas as contas visíveis, ou se as ocultas também devem ser listadas. '''Parâmetro obrigatório:''' name '''Valor padrão:''' id_value : "" desc_value : "" get_email : false email_as_textarea : false hide_groups : true organization : null (por padrão, será utilizada a organização do usuário que está usando o processo de Workflow) hide_organizations : false hide_sectors : false title : "" onlyVisibleAccounts : true '''Exemplo de utilização:''' 1. Neste exemplo criamos um objeto de seleção de usuário que armazena o id do usuário no campo "usuario_responsavel" e o nome do usuário no campo "usuario_responsavel_desc". {{{ {wf_select_user name="usuario_responsavel"} }}} 2. Neste exemplo criamos um objeto de seleção de usuário que armazena e-mails de um ou mais usuários no campo "contatos". {{{ {wf_select_user name="contatos" get_email=true} }}} 3. Neste outro exemplo, criamos um objeto de seleção de usuário/grupo que armazena o id do usuário (ou grupo) no campo "entidade" e o nome do usuário (ou grupo) no campo "entidade_desc". Ainda, definimos o texto que aparece quando o usuário posiciona o cursor do mouse sobre o ícone de adição de usuário. {{{ {wf_select_user name="entidade" hide_groups=false title="Clique aqui para selecionar uma entidade"} }}} Observação: antes de utilizar "wf_select_user" (seja uma ou mais vezes), deve fazer uma única chamada a "wf_select_user_init". Exemplo de objeto de seleção criado no exemplo 1: [[Image(select_user.png)]] ---- == 2- Seleçao de vários usuários e grupos (com os respectivos ids). == === Plugin: wf_select_users_init === '''Descrição:''' insere código que referencia o arquivo js. '''Parâmetros:''' '''Exemplo de utilização:''' {wf_select_users_init} === plugin: wf_select_users === '''Descrição:''' insere os elementos HTML que permitem a seleção de vários usuários e grupos '''Parâmetros:''' name : o nome do campo que irá receber os usuários e grupos selecionados value : usuários e grupos previamente selecionados. Deve estar no formato de matriz, seguindo o seguinte padrão: ::$matriz!["u123"]="Nome do usuário 123" ; $matriz!["g321"]="Nome do grupo 321" e, assim por diante. hide_groups : indica se deve-se omitir os grupos na tela de seleção. organization : nome da organização que estará previamente selecionada. hide_organizations : indica se a selectbox de organizações deve ser ocultada ou não. Se for true, a selectbox ficará oculta. hide_sectors : indica se a selectbox de setores deve ser ocultada ou não. Se for true, a selectbox ficará oculta. onlyVisibleAccounts : indica se devem ser recuperadas apenas as contas visíveis, ou se as ocultas também devem ser listadas. '''Parâmetro obrigatório:''' name '''Valor padrão:''' value : "" hide_groups : false organization : null (por padrão, será utilizada a organização do usuário que está usando o processo de Workflow) hide_organizations : false hide_sectors : false onlyVisibleAccounts : true '''Exemplo de utilização:''' 1. Exemplo simples para seleção de usuários e grupos. {{{ {wf_select_users name="usuarios"} }}} 2. Exemplo simples para seleção de usuários e grupos com usuários pré-selecionados (indicados pela variável $pre_selecionados). {{{ {wf_select_users name="usuarios" value=$pre_selecionados} }}} Observação: antes de utilizar "wf_select_users" (seja uma ou mais vezes), deve fazer uma única chamada a "wf_select_users_init". Exemplo de objeto de seleção de usuários e grupos criado no exemplo 1: [[Image(select_users.png)]] == 3- Teclas de navegação na janela de seleção de usuários == Quando o usuário clicar no ícone de adição de usuários, será aberta uma janela, como exemplificado abaixo, onde além de selecionar com o mouse, podem ser usadas as seguintes teclas de atalho: seta para cima / seta para baixo : sobe e desce na lista de usuário; enter : seleciona a entrada que estiver marcada e transfere os dados para o formulário esc : fecha a janela digitação : começe a digitar o nome do usuário e a janela vai posicionando automaticamente Além disso, o usuário pode escolher se deseja exibir apenas as contas visíveis. Por padrão, essa opção vem marcada e são exibidas apenas as visíveis. Caso o usuário desmarque essa opção, serão exibidas todas as contas, ou seja, serão incluídas as contas ocultas na lista apresentada. O desenvolvedor pode alterar o valor inicial dessa opção atribuindo ''"onlyVisibleAccounts=false"'' como parâmetro na chamada do plugin. Outra opção do usuário é fazer uma busca global. Ao marcar essa caixa, será feita uma busca pelo nome digitado em toda árvore de organizações. [[Image(select_users_window.png)]]