fix: corrige achados da revisao final (DDI idempotente, mascara DDI 12/13 digitos, status DV, validacao no load, autofill dispara mascaras)
Endereca 5 achados da revisao final de branch: - Important #1: normalizar_telefone_com_ddi agora e idempotente (nao duplica 55 independente do tamanho) - Important #2: mascara de telefone detecta DDI colado por tamanho total (12/13 digitos), nao mais so pelo campo especifico - Minor #3: buscarCnpj pula lookup na Receita quando DV do CNPJ e invalido, preservando a mensagem de erro - Minor #4: detectarEValidarDocumento roda uma vez no carregamento da pagina - Minor #5: autofill da Receita dispara evento input para acionar as mascaras de UF/CEP/TELEFONE Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 5
parent
eec7ce21b5
commit
dea9dc4401
+6
-4
@@ -56,14 +56,16 @@ def normalizar_telefone_com_ddi(bruto: str | None) -> str:
|
||||
gravados sempre com DDI, mesmo que o usuário não digite (mesmo padrão
|
||||
que CLIENTE_CONTATO.TELEFONE já usa para envio de WhatsApp).
|
||||
|
||||
Um valor de 12-13 dígitos começando com "55" é tratado como já tendo
|
||||
DDI (não duplica). Qualquer outro tamanho não vazio recebe "55" na
|
||||
frente. Vazio continua vazio (campo não obrigatório).
|
||||
Um valor que já começa com "55" é tratado como já tendo DDI (não
|
||||
duplica), independente do tamanho — garante idempotência mesmo em
|
||||
round-trips (ex.: reenvio do formulário já normalizado). Qualquer
|
||||
outro valor não vazio recebe "55" na frente. Vazio continua vazio
|
||||
(campo não obrigatório).
|
||||
"""
|
||||
digitos = normalizar_telefone(bruto)
|
||||
if not digitos:
|
||||
return ""
|
||||
if digitos.startswith("55") and len(digitos) in (12, 13):
|
||||
if digitos.startswith("55"):
|
||||
return digitos
|
||||
return "55" + digitos
|
||||
|
||||
|
||||
Reference in New Issue
Block a user