Commit graph

7 commits

Author SHA1 Message Date
Gemini
aa5bf5eb75 feat(2.0): Salvar único — templates entram no form principal da config
- cards de template movidos para dentro do form principal (inputs em array
  templates_json[op]/templates_active[op]); sem forms aninhados
- "Gerar template" virou ação LOCAL no browser (data-seed preenche o editor;
  nada é salvo até o Salvar único) — sem reload
- removidos os handlers save_template/gen_template e os 4 botões Salvar por card
- o handler de update salva config + mapa + todos os templates numa tacada,
  validando o JSON de cada um (inválido = não salvo, com aviso)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-02 17:20:28 -03:00
Gemini
1053b9f506 feat(2.0): Fase 2 — editor de templates na config + paleta + create_project
- seção "Templates de Payload (avançado)" no formconfig: card por operação,
  editor linha-a-linha (flatten/unflatten em JS puro) com toggle Ver JSON,
  Gerar template (seed + CFs descobertos), ativar/desativar
- paleta de variáveis clicável (copia tag) + referência do Redmine do ambiente
  (trackers/status/prioridades/atividades/custom fields com valores)
- buildFormContext (form.*) e wiring do create_project nos dois controllers,
  com fallback 1.x em erro de render
- validado: render da UI (4 cards + paleta + JS) e E2E create_project via
  template no Redmine dev (tipos nativos, identifier minúsculo, parent, trackers)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-02 16:04:22 -03:00
Gemini
1b790354a3 fix: envia tracker_ids na criação de projeto (sem tracker, Redmine recusa issues) (1.5.7)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-02 11:18:27 -03:00
Gemini
c8765ca5ff fix: custom fields obrigatórios na criação de projeto + identifier lowercase (1.5.6)
- form das abas Redmine exibe/envia custom_field_values (Tipo de Projeto etc.)
- createProjectFull normaliza o identificador (minúsculas)
- sync da aba de projeto usa syncMetadata completo (não apaga mais o cache)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-02 09:53:23 -03:00
Gemini
6f844e7336 fix: dropdown gravava índice (Twig merge) em vez do ID real do projeto (1.5.3)
- opções do projeto Redmine montadas no PHP (Twig merge renumera chaves inteiras)
- aba mostra o NOME do projeto vinculado (não só o ID)
- botão Desvincular (projeto e entidade) + dropdown só com projetos ativos

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-30 15:27:18 -03:00
Gemini
92d1ac044a feat: vínculo Entidade -> Projeto Redmine (clientes de suporte recorrente)
- nova aba Redmine em Administração > Entidades (PluginRedmineEntity)
- tabela glpi_plugin_redmine_entities (1:1 entidade -> projeto Redmine, + categoria)
- hook resolve o projeto Redmine por: projeto vinculado OU, na ausência,
  a entidade do chamado (match exato, sem herança de árvore)
- twigs do tab generalizados (owner_field/owner_id) p/ reuso projeto+entidade

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-29 22:00:36 -03:00
Gemini
80d1576a80 Redmine Integration 1.3.0
Plugin de integração GLPI <-> Redmine:
- Config nativa (Twig) com API key cifrada (GLPIKey)
- Vínculo projeto GLPI <-> projeto Redmine (aba do projeto) + categoria por vínculo
- 1 issue Redmine por chamado; defaults (tracker/priority/activity) e mapa de status
- Tempo das TicketTasks -> time entries (gate em "Feito"), idempotente
- Autores via impersonation (X-Redmine-Switch-User) + auto-membership por role
- Mapeamento de usuários GLPI->Redmine (auto-match por e-mail + overrides)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-29 18:32:19 -03:00