-
Status do intake: implemented-pending-homologation
-
Data: 2026-08-19
-
Origem: homologação da req-121 — identificação de falha onde o seletor do modal "Mover Publicação" na tela de edição (
publisher-pages/editar) permanece vazio com o placeholder#mover-publicador-options#não substituído -
Classificação: bugfix / correção de homologação, backend PHP, renderização de templates
-
Batch candidato: BATCH-124
1. Contexto e Diagnóstico
Durante os testes na plataforma após a implementação da req-121, ao clicar no botão "Mover Publicação" na tela de edição de uma publicação (publisher-pages/editar), o modal é exibido, porém o dropdown "Publicador de destino" não lista nenhum publicador para seleção ("No results found.").
Causa-Raiz
No arquivo gestor/modulos/publisher-pages/publisher-pages.php, a rotina de busca de publicadores disponíveis e substituição do placeholder #mover-publicador-options# foi inserida erroneamente dentro de publisher_pages_adicionar(), enquanto o botão e o modal residem no template de edição (publisher-pages-editar.html), processado por publisher_pages_editar().
Como consequência, em publisher_pages_editar(), a variável #mover-publicador-options# nunca é processada e é entregue crua ao navegador no HTML renderizado:
<select name="new_publisher_id" class="noselection">
<option value="">Selecione o publicador de destino</option>
#mover-publicador-options#
</select>2. Escopo Técnico Requerido
Módulo 1: Backend — População Correta em publisher_pages_editar()
-
Localização:
gestor/modulos/publisher-pages/publisher-pages.php. -
Ações:
-
Em
publisher_pages_editar(), logo após carregar os dados do publicador atual (if($publisher_id)):-
Consultar no banco todos os registros ativos da tabela
publisher:WHERE status != 'D' AND language = '{$_GESTOR['linguagem-codigo']}' ORDER BY name ASC -
Montar os
<option value="ID">Nome</option>para todos os publicadores disponíveis que sejam diferentes do$publisher_idatual. -
Substituir a tag
#mover-publicador-options#em$_GESTOR['pagina']pelo HTML das opções montadas. -
Caso não existam outros publicadores no sistema para onde mover, tratar de forma amigável (por exemplo, desabilitar o botão/dropdown ou exibir mensagem explicativa de que não há outros publicadores disponíveis).
-
-
Limpar a injeção indevida ou redundante que havia sido feita em
publisher_pages_adicionar()caso não faça sentido naquele contexto.
-
Módulo 2: Verificação em Outros Idiomas e Telas
-
Garantir paridade tanto em
pt-brquanto emen. -
Assegurar que os seletores Fomantic UI do modal (
mover-publicador-select) reconheçam os options gerados e permitam a busca e seleção dinâmica normalmente.
3. Critérios de Aceite e Validação
-
População no Modal: Ao abrir a tela de edição de qualquer publicação e clicar em "Mover Publicação", o dropdown "Publicador de destino" deve listar todos os outros publicadores ativos no mesmo idioma.
-
Exclusão do Atual: O publicador atual da publicação não deve constar como opção de destino selecionável (ou deve vir claramente desabilitado).
-
Execução do Mover: Selecionar um publicador da lista e clicar em "Confirmar Transferência" deve acionar o endpoint AJAX
mover-publicador, migrar a página com sucesso e redirecionar para a nova tela de edição com a mensagem de sucesso. -
Testes Unitários & PHPUnit: Toda a suíte de testes PHPUnit e Vitest deve continuar 100% aprovada.