Conn2Flow
Navegação das docs

SDD

req-122: Correção da População de Publicadores de Destino no Modal Mover Publicação

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 é…

  • 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:

    1. 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_id atual.

      • 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).

    2. 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-br quanto em en.

  • 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

  1. 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.

  2. 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).

  3. 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.

  4. Testes Unitários & PHPUnit: Toda a suíte de testes PHPUnit e Vitest deve continuar 100% aprovada.

O Futuro é Híbrido: Humano + IA.

O Conn2Flow é a ferramenta. Se você precisa do Arquiteto para desenhar a estratégia da sua empresa usando essa tecnologia...

Contrate Consultoria Especializada