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ÓDIGOtanto do texto da opção quanto do atributotitle(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
codepermanece 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
| Onde | GLPI nativo (antes) | Com GLPI Bug Fixes (depois) |
|---|---|---|
| Dropdown no chamado | Erro ao usar automação - 337.TIPO:INC;... | Erro ao usar automação |
| Pergunta de categoria no formulário | Rede - NET.02;Grupo:INFRA | Rede |
| Tooltip (title) do item | Exibe o código completo | Exibe só o nome |
| Dropdown de grupo (ex.: N1 - Suporte) | N1 - Suporte | N1 - Suporte (inalterado) |
| Campo code no banco | Preenchido | Preenchido (nunca é alterado) |
Como ativar
- Instale o plugin NexTool no seu GLPI 11 (se ainda não tiver).
- Acesse Configuração > NexTool > Módulos e ative o módulo GLPI Bug Fixes.
- Abra Configurar e vá à aba Funcionalidades.
- 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.