Files
clientflow_backend/RELEASE_NOTES_v4928_1_5_37.md

1.8 KiB

v4928.1.5.37 — terminal flow guard + Odoo sync panel

Combina a correção v4928.1.5.36_terminal_opportunity_flow_guard com a nova área v1.5.37_odoo_sync_panel.

Inclui de v1.5.36

  • Oportunidades em fase terminal deixam de recomendar follow-ups como próxima ação.
  • Follow-ups pendentes podem ser fechados em lote quando a oportunidade já está concluída.
  • O fluxo operacional passa a marcar fatura como concluída quando existe fatura atual emitida.
  • O chip da decisão seguinte usa o action_code real da task pendente.

Novo em v1.5.37

  • Novo painel Estado Odoo no detalhe da oportunidade.
  • Botão Sincronizar Odoo agora por oportunidade, equivalente ao fluxo manual de Jasmin.
  • Painel mostra venda Odoo ligada, cliente/valor Odoo, estado físico, entregas/pickings e produção/preparação.
  • Lista vendas Odoo ligadas/candidatas a partir de reconciliation_items.
  • Ação para associar uma venda Odoo candidata à oportunidade e atualizar operation_links.
  • Partial HTMX /opportunities/{opportunity_id}/partials/odoo-status.
  • Auditoria read-only scripts/audit_odoo_opportunity_sync.py para oportunidades avançadas sem venda/estado físico Odoo sincronizado.

Segurança operacional

  • O painel não chama Odoo ao abrir a oportunidade; a sincronização é manual para evitar lentidão e efeitos colaterais.
  • A associação de candidato Odoo reutiliza a reconciliação existente e não cria documentos fiscais.
  • O botão de sincronização apenas lê Odoo e atualiza operation_links/estado físico ClientFlow.

Validação recomendada

python -m compileall -q app scripts tests
python -m pytest -q
python scripts/audit_system_health.py; echo "EXIT_CODE=$?"
python scripts/audit_deep_system.py --window-hours 72 --sample-limit 25; echo "EXIT_CODE=$?"
python scripts/audit_odoo_opportunity_sync.py; echo "EXIT_CODE=$?"