feat: bloqueia CNPJ/CPF duplicado ao cadastrar ou editar cliente
Mesmo padrão já usado pro CODIGO (db_clientes.codigo_em_uso): nova db_clientes.cnpj_em_uso(documento, ignorar_id=None) checada em criar()/editar() antes de gravar. A comparação ignora pontuação dos dois lados (não só normaliza o valor recebido) porque CLIENTE.CNPJ tem formatação inconsistente em registros legados (alguns com máscara, outros sem) — sem isso, um cadastro novo com o mesmo documento de um legado ainda mascarado passaria batido. app/templates/cliente_form.html: nova mensagem de erro 'erro_cnpj_duplicado', mesmo estilo visual do erro de código duplicado. 6 testes novos (unitário do db + integração do router pros dois fluxos), suíte completa (196 testes) passando. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 5
parent
eed473c5f3
commit
f940ff5768
@@ -8,6 +8,11 @@
|
||||
O código {{ dados.CODIGO }} já está em uso por outro cliente — escolha outro código antes de salvar.
|
||||
</div>
|
||||
{% endif %}
|
||||
{% if erro_cnpj_duplicado %}
|
||||
<div class="mensagem danger">
|
||||
O CNPJ/CPF {{ dados.CNPJ }} já está cadastrado para outro cliente.
|
||||
</div>
|
||||
{% endif %}
|
||||
{% if aviso_dv_invalido %}
|
||||
<div class="mensagem warning">
|
||||
O dígito verificador do documento ({{ dados.CNPJ }}) não confere — confirme se digitou certo antes de salvar.
|
||||
|
||||
Reference in New Issue
Block a user