v0.75.1
AFService Map v0.75.1 — Hotfix da ACL/painel Superadmin
Backup/ponto de rollback: tag v0.75.0. Trabalho feito diretamente por
mim (Claude), a partir de 3 prints reais mandados pelo usuário logo
depois da v0.75.0: provedor sem opção real de configurar financeiro dos
clientes que já existem, projetista sem o menu Financeiro, e Superadmin
sem menu nenhum na Visão da plataforma. Com migration
(apps.billing.0003_customer_ixc_customer).
1. Financeiro do projetista sumia por completo
Print mostrou o menu lateral do projetista (LC-PROJETOS) com só 4
ícones — Visão geral, Mapa, Equipamentos, Minha administração — sem
Alertas (certo, projetista não tem cliente pra gerar alerta) e sem
Financeiro (errado — a especificação pedia explicitamente que
Projetista Editor visse o financeiro da própria empresa).
Causa: no templates/base.html, coloquei o link de Financeiro dentro
do mesmo {% if not current_company.is_designer %} que já escondia
Alertas — copiei o padrão sem separar os dois. Corrigido: Alertas
continua condicional a not is_designer, Financeiro ficou fora desse
bloqueio.
2. Provedor com 2.965 clientes reais e Financeiro mostrando zero
Print da "Visão da plataforma" mostra "Nic Fibra Telecom" com 2.965
clientes (contagem de IXCCustomer, a tabela de clientes já
sincronizados do IXCSoft) — mas a tela de Financeiro daquela mesma
empresa mostrava "Nenhum cliente cadastrado ainda." e só oferecia
"Novo cliente →" pra digitar um por um.
Causa: apps.billing.Customer (criado na v0.74.0) era um cadastro
100% independente, sem nenhuma ligação com IXCCustomer — fazia
sentido pra empresa sem ERP nenhum, mas deixava uma empresa com ERP (e
milhares de clientes já cadastrados) sem nenhum caminho razoável pra
começar a usar o financeiro.
Corrigido:
Customer.ixc_customer— novo campo (OneToOneFieldpra
IXCCustomer, opcional).- A lista de clientes agora mostra, além dos já configurados, uma seção
"Clientes do ERP sem financeiro configurado" — paginada (25 por
página) e com busca — listando quem já existe noIXCCustomermas
ainda não tem mensalidade/financeiro cadastrado aqui. - Botão "Configurar →" em cada um leva pro formulário de cadastro já
com nome, documento, e-mail e telefone pré-preenchidos a partir do
cadastro do ERP — só falta definir mensalidade/vencimento. - Tentar configurar o mesmo cliente do ERP duas vezes redireciona pro
cadastro já existente, não deixa duplicar.
Empresa sem ERP continua exatamente como antes — cadastro manual
completo, sem seção nova nenhuma (a seção só aparece quando existe
algum IXCCustomer sem financeiro vinculado).
3. Superadmin sem menu nenhum
Print da "Visão da plataforma" mostra só a topbar — nenhuma barra
lateral, nenhum menu. O usuário: "eu não quero ficar acessando django
ali quero meu menu geral".
Causa: PlatformOverviewView (apps/core/views.py) setava
context["hide_sidebar"] = True de propósito, com um comentário meu
de uma rodada anterior dizendo que "superusuário já tem o Django Admin
pra qualquer outra tela" — decisão errada, o usuário não quer depender
do /admin/ pro uso do dia a dia.
Corrigido:
- Removido o
hide_sidebar = True. templates/base.htmlagora mostra um menu dedicado pro
Superadmin (quando logado sem vínculo de empresa nenhum): "Visão da
plataforma" e "Nova empresa" — sem os itens que só fazem sentido
dentro de uma empresa (Mapa, Equipamentos, Alertas, Minha
administração), que continuam aparecendo normalmente pra usuário de
empresa.- A tabela de empresas na própria Visão da plataforma ganhou colunas
"Atrasados"/"Pendentes" por empresa — dá a visão financeira
consolidada pedida ("dash de geral de financeiro") sem precisar de
uma página nova, reaproveitando a mesma tabela que já mostra rede,
alertas e sincronização.
Verificação feita
python -m py_compileem todos os arquivos tocados/novos.- Migration nova revisada campo a campo; dependência de
ixc_integrationajustada pra0008_sync_progress(a mais recente),
não0001_initial, evitando qualquer risco de ordem entre migrations
mesmo só adicionando uma FK pra uma tabela que já existe desde a
0001. - Chaves do
static/css/app.cssbalanceadas (280/280). {% if %}/{% endif %}/{% for %}/{% endfor %}/{% block %}/
{% endblock %}balanceados embase.html,
templates/billing/customer_list.htmle
templates/platform_overview.html— a estrutura aninhada nova do
menu do Superadmin embase.htmlfoi conferida diff a diff.- Revisei que "Configurar →" não permite configurar o mesmo cliente do
ERP duas vezes (usahasattrno acessor reverso do
OneToOneField, que o Django projeta especificamente pra funcionar
comhasattr/getattrnesse caso).
manage.py check, manage.py migrate, manage.py test e o teste
visual real (abrir Financeiro como projetista, configurar um cliente do
ERP como provedor, ver o menu do Superadmin) dependem de banco, GDAL e
navegador reais — precisam ser feitos no servidor.
Atualização
Execute apply no servidor — esta versão tem migration
(apps.billing.0003_customer_ixc_customer), roda automaticamente.
Depois, um Ctrl+F5 no navegador.
Teste sugerido: como usuário Projetista, confirmar que "Financeiro"
aparece no menu; como provedor com ERP, abrir Financeiro e confirmar
que a seção de clientes do ERP sem configuração aparece e que
"Configurar →" pré-preenche os dados; como Superadmin, confirmar que a
Visão da plataforma mostra o menu lateral e as colunas
Atrasados/Pendentes na tabela de empresas.