Como remover o código de categoria nos dropdowns do GLPI 11

No GLPI 11, toda categoria com o campo code preenchido aparece nos dropdowns com o código concatenado ao nome - poluição visual que o técnico decifra a cada chamado. O módulo GLPI Bug Fixes do NexTool limpa o texto na renderização, sem apagar o code do banco e sem editar o core, cobrindo tanto os chamados quanto o novo sistema de formulários.

Você abre o dropdown de categoria para registrar um chamado no GLPI 11 e, em vez do nome limpo, aparece um bloco assim: "Erro ao usar automação - 337.TIPO:INC;Grupo:AUTOMAÇÃO;Urgência:Muito Alta". O que deveria ser apenas o nome da categoria virou uma linha de metadados que o técnico precisa decifrar toda vez. Não é defeito do seu ambiente: é o próprio GLPI concatenando o campo code da categoria em todos os dropdowns.

O problema

Toda categoria ITIL do GLPI tem um campo opcional chamado code. Ele existe por bons motivos: numeração de processo, chave de roteamento para regras de negócio, parâmetro de integração com um ERP ou com um sistema de chamados externo. O problema não é ter o campo preenchido - é onde ele aparece. Quando a categoria tem code, o núcleo do GLPI concatena esse valor ao nome em todos os dropdowns da interface, usando o separador - . Uma informação de bastidor vaza para a tela de quem só quer escolher "Rede" ou "Impressora".

Na prática, quanto mais estruturado o seu code, pior fica. Times que carregam metadados no campo (tipo do chamado, grupo responsável, urgência sugerida) terminam com dropdowns onde o nome real da categoria é a menor parte do texto. O olho lê da esquerda para a direita, encontra o código primeiro e desacelera. Em telas menores, o texto é truncado no meio do código - e aí nem o nome aparece inteiro.

As duas saídas óbvias não servem. Editar o core do GLPI para remover a concatenação funciona até a próxima atualização, quando o arquivo é sobrescrito e o problema volta. Apagar o campo code limpa a tela, mas quebra tudo que dependia dele - regras, integrações, relatórios. Você trocaria um incômodo visual por uma falha funcional.

Como o GLPI Bug Fixes resolve

O módulo GLPI Bug Fixes ataca o sintoma no lugar certo: a renderização, não o dado. Ele não toca no banco e não edita o core. Em vez disso, envolve as funções globais de template do Select2 que o GLPI usa (window.templateResult e window.templateSelection) e limpa o texto na origem, antes que ele chegue ao DOM. O campo code continua intacto no banco; apenas deixa de aparecer na interface.

  • Limpa o nome e o tooltip - remove o sufixo - CÓDIGO tanto do texto da opção quanto do atributo title (o balão que aparece ao passar o mouse), na lista e no valor já selecionado.
  • Cobre os dois lugares onde a categoria aparece - o dropdown clássico de chamado, mudança e problema (itilcategories_id) e as perguntas de seleção de categoria no novo sistema de formulários do GLPI 11 (Glpi\Form).
  • Não apaga nada - o code permanece disponível para regras de negócio, integrações e relatórios. É uma correção puramente visual.
  • Liga e desliga por feature - a correção é um toggle individual na aba Funcionalidades; ativar ou desativar tem efeito imediato, sem reinstalar o módulo.
  • Sobrevive a atualizações - como tudo roda pelo plugin, atualizar o GLPI não desfaz a correção.

O detalhe que separa uma correção segura de uma que quebra o resto

Aqui entra a experiência de quem opera GLPI em produção. A primeira versão do fix fazia o óbvio: limpava o texto de qualquer dropdown Select2 que tivesse o padrão " - alguma coisa". Parecia correto até um cliente reportar que os nomes dos grupos tinham sido cortados - "N1 - Suporte" virava "N1", "N2 - Infraestrutura" virava "N2". O separador - é legítimo em muitos nomes; limpar por padrão de texto é ingênuo. A correção passou a ser escopada pela identidade do campo, não pela aparência do texto.

Para o chamado, isso é direto: só age quando o <select> se chama itilcategories_id. No sistema novo de formulários é mais sutil, porque a pergunta usa um nome genérico como answers_5[items_id] que serve para qualquer item (categoria, localização, fornecedor). A pista está num <input hidden> irmão que declara o tipo. O módulo só limpa o texto quando esse irmão diz ITILCategory:

<!-- Chamado: o fix atua porque o name é exatamente itilcategories_id -->
<select name="itilcategories_id">
  <option value="12"
    title="Erro ao usar automação - 337.TIPO:INC;Grupo:AUTOMAÇÃO">
    Erro ao usar automação - 337.TIPO:INC;Grupo:AUTOMAÇÃO
  </option>
</select>

<!-- Formulário (Glpi\Form): SÓ limpa se o hidden irmão for ITILCategory -->
<select name="answers_5[items_id]"> ... </select>
<input type="hidden" name="answers_5[itemtype]" value="ITILCategory">

<!-- Grupo: name diferente e sem hidden ITILCategory -->
<!-- o " - " legítimo é PRESERVADO -->
<select name="groups_id">
  <option>N1 - Suporte</option>
</select>

É o tipo de decisão que só aparece na sustentação: a solução "rápida" quebra um caso de borda que nenhum teste sintético cobre, mas que existe em quase todo ambiente real com grupos nomeados por nível de atendimento.

Antes e depois, por contexto

OndeGLPI nativo (antes)Com GLPI Bug Fixes (depois)
Dropdown no chamadoErro ao usar automação - 337.TIPO:INC;...Erro ao usar automação
Pergunta de categoria no formulárioRede - NET.02;Grupo:INFRARede
Tooltip (title) do itemExibe o código completoExibe só o nome
Dropdown de grupo (ex.: N1 - Suporte)N1 - SuporteN1 - Suporte (inalterado)
Campo code no bancoPreenchidoPreenchido (nunca é alterado)

Como ativar

  1. Instale o plugin NexTool no seu GLPI 11 (se ainda não tiver).
  2. Acesse Configuração > NexTool > Módulos e ative o módulo GLPI Bug Fixes.
  3. Abra Configurar e vá à aba Funcionalidades.
  4. Confirme que Ocultar código de categoria nos dropdowns está ligado - ele já vem ativado por padrão após a instalação.

A correção passa a valer na próxima vez que você abrir um dropdown de categoria. Não precisa reiniciar o serviço nem limpar cache: o asset JS carrega uma marca de versão que muda sozinha quando você liga ou desliga a feature, garantindo que o navegador sempre pegue a versão certa.

Para quem é indicado (e quando não usar)

Faz sentido para qualquer equipe que preenche o campo code das categorias ITIL - seja para numeração interna, roteamento por regras ou integração - e cujos técnicos ou usuários finais selecionam categoria no dia a dia. Quanto mais gente abre chamado, maior o ganho de clareza.

Não faz diferença se as suas categorias não têm code preenchido: sem código concatenado, não há o que limpar. E se você quer que o código apareça na tela - alguns times usam isso como referência rápida no balcão de atendimento - basta deixar a feature desligada. A correção é opcional justamente por isso.

Compatibilidade

  • GLPI: 11.0 ou superior
  • Módulo: GLPI Bug Fixes (chave fixes) - plano gratuito (FREE)
  • Plugin: NexTool 4.1.3 ou superior
  • Cobertura: chamados, mudanças e problemas, além do novo sistema de formulários (Glpi\Form)

Próximo passo

O GLPI Bug Fixes faz parte do NexTool, o ecossistema de módulos que estende o GLPI sem customização de core. O módulo é gratuito e já está no catálogo. Se quiser ajuda para instalar ou avaliar outras correções, fale com a equipe.


Este conteúdo foi produzido com auxílio de inteligência artificial e revisado pela equipe Nextool Solutions.

Perguntas Frequentes

Toda categoria ITIL tem um campo opcional chamado code. Quando ele está preenchido, o GLPI concatena esse valor ao nome em todos os dropdowns, usando o separador " - ". É comportamento nativo do core, não um bug do seu ambiente.

Não. O módulo só altera o que é exibido na tela, interceptando a renderização do Select2. O code permanece intacto no banco e continua disponível para regras, integrações e relatórios.

Não. A limpeza é escopada pela identidade do campo (o name itilcategories_id ou, nos formulários, o input hidden com itemtype ITILCategory), nunca pelo padrão de texto. Nomes com " - " legítimo, como grupos por nível, ficam intactos.

Sim. Além dos chamados, mudanças e problemas, ele cobre as perguntas de seleção de categoria no Glpi\Form, detectando o input hidden que declara o itemtype ITILCategory ao lado da pergunta.

Não. A correção vale já na próxima abertura de um dropdown de categoria. O asset JS usa uma marca de versão que muda ao ligar ou desligar a feature, então o navegador sempre carrega a versão certa.

Sim, é FREE. Faz parte do plugin NexTool (4.1.3 ou superior) e é compatível com o GLPI 11.0 ou superior.

Precisa de ajuda?