Projeto

Geral

Perfil

Defeito #237

Ordenar arrays no formulário de funcionário

Adicionado por Mauricio Luiz Viani aproximadamente 6 anos atrás. Atualizado mais de 5 anos atrás.

Situação:
Fechada
Prioridade:
Normal
Categoria:
Workflow
Início:
29/03/2018
Data prevista:
% Terminado:

100%


Descrição

Na interface de manutenção de funcionário, os arrays de dados utilizados nos campos lista de seleção, estão desordenados. Por exemplo o array de localidades.

Revisar e alterar a ordenação das listas de opções, em todos os formulários do organograma.

OBS: As listas são geradas ordenadas alfabeticamente no PHP, porém, antes do Javascript construir a lista de seleção, ele ajusta as listas em um array cujo índice é o ID e o valor é a descrição que será apresentada no selectbox.

Por exemplo, o PHP gera uma lista de organizações conforme o array:

$organizacao[0]['organizacao_id'] = 15
$organizacao[0]['sigla'] = 'APPA'
$organizacao[0]['descricao'] = 'Administração dos Portos de Paranaguá e Antonina'
$organizacao[0]['ativa'] = 'S'

$organizacao[1]['organizacao_id'] = 1
$organizacao[1]['sigla'] = 'CELEPAR'
$organizacao[1]['descricao'] = 'Companhia de Tecnologia da Informação e Comunicação do Paraná'
$organizacao[1]['ativa'] = 'S'

$organizacao[2]['organizacao_id'] = 45
$organizacao[2]['sigla'] = 'DER'
$organizacao[2]['descricao'] = 'Departamento de Estradas de Rodagem'
$organizacao[2]['ativa'] = 'S'

O array $organizacao é de tamanho 3, sendo que cada item é um array com os dados de cada organização. Ou seja, o Javascript recebe esta matriz ordenada.

O motivo de estar desordenando esta lista é que quando o Javascript a recebe, está alterando para um array em que o índice é a propriedade 'organizacao_id' e o valor é a 'sigla', ficando semelhante a:

$items[1]  = 'CELEPAR'
$items[15] = 'APPA'
$items[45] = 'DER'

Para o Javascript, isto é um array de tamanho 46 contendo "buracos" nas posições do array que não possuem valor. Portanto, este array acaba ficando ordenado pela propriedade 'ocorrencia_id'.

A solução será ajustar o Javascript para que seja montada uma matriz padronizada para que o método 'constructSelectBox' extraia corretamente a propriedade que deverá ser o índice e a que será o valor. Isto é, o método 'constructSelectBox' deverá receber uma matriz semelhante a:

$items[0]['id'] = 15
$items[0]['value'] = 'APPA'

$items[1]['id'] = 1
$items[1]['value'] = 'CELEPAR'

$items[2]['id'] = 45
$items[2]['value'] = 'DER'

Revisões associadas

Revisão f0a61397
Adicionado por Anderson Tadayuki Saikawa mais de 5 anos atrás

Issue #237 - Ajustada a montagem do array que e utilizado na construcao do selectbox

Histórico

#1 Atualizado por Mauricio Luiz Vianimais de 5 anos

  • Versão alterado de Backlog para Expresso Livre - Milestone 22

#2 Atualizado por Anderson Tadayuki Saikawamais de 5 anos

  • Descrição atualizado(a) (diff)

#3 Atualizado por Anderson Tadayuki Saikawamais de 5 anos

  • % Terminado alterado de 0 para 80
  • Situação alterado de Nova para Resolvida

#4 Atualizado por Mauricio Luiz Vianimais de 5 anos

  • Atribuído para ajustado para Anderson Tadayuki Saikawa
  • Situação alterado de Resolvida para Fechada
  • % Terminado alterado de 80 para 100

Exportar para Atom PDF