diff --git a/app/routers/clientes.py b/app/routers/clientes.py index 486e148..bcec73c 100644 --- a/app/routers/clientes.py +++ b/app/routers/clientes.py @@ -39,16 +39,18 @@ def listar( ): clientes = db_clientes.listar_clientes(busca=busca or None) return templates.TemplateResponse( + request, "clientes_lista.html", - {"request": request, "clientes": clientes, "busca": busca, "mensagem": mensagem, "mensagem_tipo": mensagem_tipo}, + {"clientes": clientes, "busca": busca, "mensagem": mensagem, "mensagem_tipo": mensagem_tipo}, ) @router.get("/novo", response_class=HTMLResponse) def form_novo(request: Request, usuario: str = Depends(exigir_login)): return templates.TemplateResponse( + request, "cliente_form.html", - {"request": request, "cliente": None, "dados": {c: "" for c in db_clientes.CAMPOS_CLIENTE}, "campos": db_clientes.CAMPOS_CLIENTE}, + {"cliente": None, "dados": {c: "" for c in db_clientes.CAMPOS_CLIENTE}, "campos": db_clientes.CAMPOS_CLIENTE}, ) @@ -60,18 +62,22 @@ async def criar(request: Request, usuario: str = Depends(exigir_login)): if not confirmar_duplicado and db_clientes.codigo_em_uso(dados["CODIGO"]): return templates.TemplateResponse( + request, "cliente_form.html", - {"request": request, "cliente": None, "dados": dados, "campos": db_clientes.CAMPOS_CLIENTE, "aviso_codigo_duplicado": True}, + {"cliente": None, "dados": dados, "campos": db_clientes.CAMPOS_CLIENTE, "aviso_codigo_duplicado": True}, ) - _, formato_valido, tipo = normalizar_documento(dados["CNPJ"]) + documento_normalizado, formato_valido, tipo = normalizar_documento(dados["CNPJ"]) dv_invalido = False if formato_valido: - dv_invalido = not (validar_dv_cpf(dados["CNPJ"]) if tipo == "CPF" else validar_dv_cnpj(dados["CNPJ"])) + dv_invalido = not ( + validar_dv_cpf(documento_normalizado) if tipo == "CPF" else validar_dv_cnpj(documento_normalizado) + ) if dv_invalido and form.get("confirmar_dv_invalido") != "1": return templates.TemplateResponse( + request, "cliente_form.html", - {"request": request, "cliente": None, "dados": dados, "campos": db_clientes.CAMPOS_CLIENTE, "aviso_dv_invalido": True}, + {"cliente": None, "dados": dados, "campos": db_clientes.CAMPOS_CLIENTE, "aviso_dv_invalido": True}, ) novo_id = db_clientes.criar_cliente(dados) @@ -93,9 +99,10 @@ def detalhe( contatos = db_contatos.listar_contatos_por_cliente(cliente_id) status = db_chaves.status_chaves(cliente["CODIGO"]) return templates.TemplateResponse( + request, "cliente_detalhe.html", { - "request": request, "cliente": cliente, "contatos": contatos, "status_chaves": status, + "cliente": cliente, "contatos": contatos, "status_chaves": status, "mensagem": mensagem, "mensagem_tipo": mensagem_tipo, }, ) @@ -107,8 +114,9 @@ def form_editar(request: Request, cliente_id: int, usuario: str = Depends(exigir if cliente is None: return _redirect_com_mensagem("/clientes", "Cliente não encontrado.", "danger") return templates.TemplateResponse( + request, "cliente_form.html", - {"request": request, "cliente": cliente, "dados": cliente, "campos": db_clientes.CAMPOS_CLIENTE}, + {"cliente": cliente, "dados": cliente, "campos": db_clientes.CAMPOS_CLIENTE}, ) @@ -120,8 +128,9 @@ async def editar(request: Request, cliente_id: int, usuario: str = Depends(exigi if not confirmar_duplicado and db_clientes.codigo_em_uso(dados["CODIGO"], ignorar_id=cliente_id): return templates.TemplateResponse( + request, "cliente_form.html", - {"request": request, "cliente": {"ID": cliente_id}, "dados": dados, "campos": db_clientes.CAMPOS_CLIENTE, "aviso_codigo_duplicado": True}, + {"cliente": {"ID": cliente_id}, "dados": dados, "campos": db_clientes.CAMPOS_CLIENTE, "aviso_codigo_duplicado": True}, ) db_clientes.atualizar_cliente(cliente_id, dados) diff --git a/app/templates/cliente_form.html b/app/templates/cliente_form.html index 015cb3a..d1e38da 100644 --- a/app/templates/cliente_form.html +++ b/app/templates/cliente_form.html @@ -14,7 +14,14 @@ {% endif %} {% if aviso_dv_invalido %} -
O dígito verificador do documento ({{ dados.CNPJ }}) não confere — confirme se digitou certo antes de salvar.
+
+ O dígito verificador do documento ({{ dados.CNPJ }}) não confere — confirme se digitou certo antes de salvar. +
+ {% for campo, valor in dados.items() %}{% endfor %} + + +
+
{% endif %}
{% for campo in campos %}