{% extends "base.html" %} {% block title %}{% if usuario %}Editar{% else %}Novo{% endif %} Usuário{% endblock %} {% block content %}

{% if usuario %}Editar{% else %}Novo{% endif %} Usuário

Dados do Usuário
Cadastrar novo funcionário
{% set face_status = summarize_user_face_reference_status(usuario) if usuario else {'disponivel': False, 'quality_label': 'invalida', 'quality_score': 0, 'warnings': [], 'origem': 'sem_referencia'} %} {% set app_empresa_scope = summarize_user_app_empresa_scope(usuario) if usuario else {'scope': 'nenhuma', 'company_ids': [], 'operacao_app_empresa': False, 'admin_app_empresa': False, 'admin_sistema': False} %} {% set pessoa_referencia = usuario.pessoa if usuario and usuario.pessoa else None %} {% set face_src = pessoa_referencia.foto_base64 if (pessoa_referencia and pessoa_referencia.foto_base64) else '' %} {% set face_src = face_src if (face_src or '').startswith('data:image') else ('data:image/jpeg;base64,' ~ (face_src or '') if face_src else '') %}
A foto facial oficial fica vinculada à Pessoa/Funcionário associado ao usuário e será usada nas autorizações críticas.
{% if face_status.disponivel %}{{ face_status.quality_label|default('cadastrada')|capitalize }}{% else %}Sem referência{% endif %}
Prévia referência facial
Nenhuma referência facial vinculada.
Use uma foto frontal, bem iluminada e com o rosto centralizado. A referência é validada com qualidade mínima antes de ser salva.
{% if face_status.disponivel %}
Qualidade atual: {{ face_status.quality_label|capitalize }}{% if face_status.quality_score is not none %} (score {{ '%.2f'|format(face_status.quality_score or 0) }}){% endif %}
Origem: {{ 'Pessoa vinculada' if face_status.origem == 'pessoa_foto' else face_status.origem }}
{% if face_status.warnings %}
Avisos: {{ face_status.warnings|join(', ') }}
{% else %}
Referência pronta para validações críticas.
{% endif %} {% else %}
Nenhuma referência oficial cadastrada ainda.
{% endif %}
Se o usuário não tiver Funcionário Vinculado, a referência facial não será salva. Primeiro vincule a pessoa e depois envie a imagem.
Usado para fazer login no sistema
Se informar perfil setorial, as rotinas passam a seguir o RBAC por setor (com transição gradual). Usuários com nível Administrador são vinculados automaticamente ao perfil nativo do sistema e não podem ser restringidos. Se a pessoa vinculada vier com um perfil setorial sugerido no cadastro, o sistema pode adiantar o setor e o perfil setorial automaticamente. {% if perfis_pdv %}
Ao vincular a um perfil, as permissões PDV serão herdadas do perfil.
{% endif %} {% if perfis_food %}
Para funcionários com perfil sugerido Food, o sistema sugere automaticamente o primeiro perfil Food ativo. Revise antes de salvar.
{% endif %}
{% if usuario and usuario.pin_acesso_pdv %}
{% endif %}
PIN numérico para acesso rápido ao CapePDV Desktop e para servir como segunda camada nas autorizações críticas de gerente/admin. Deixe em branco para usar apenas a senha normal, mas o ideal é configurar o PIN para endurecer cancelamentos e estornos.
{% if usuario %}
{% endif %}
Permissões Especiais
{% set controle_guardar_usuario = usuario.controle_guardar_venda_pdv if usuario else 'bloqueado' %} {% set controle_cancelar_item_usuario = usuario.controle_cancelar_item_pdv if usuario else 'liberado' %} {% set controle_cancelar_venda_usuario = usuario.controle_cancelar_venda_pdv if usuario else 'gerente' %} {% set controle_alterar_preco_usuario = usuario.controle_alterar_preco_pdv if usuario else 'gerente' %} {% set controle_desconto_usuario = usuario.controle_desconto_pdv if usuario else 'gerente' %}
Estes controles valem para o CapePDV Desktop. Se o usuário estiver vinculado a um Perfil PDV, o perfil continua prevalecendo.

CapePonto Empresa
O modo exclusivo isola este usuário para o módulo CapePonto Empresa e remove permissões operacionais do ERP, evitando conflitos como cancelamento de venda, estorno e acesso aos módulos gerais.
Define onde este usuário pode operar/administrar o CapePonto Empresa e os fluxos ligados ao Face ID.
Use Ctrl/Command para marcar várias empresas quando o escopo for seletivo.
Reabrir caixa fechado está BLOQUEADO para todos os usuários por questão de auditoria.
Limites Financeiros
Valor máximo que pode retirar sem autorização
Regra de desconto na venda
0 = não concede desconto percentual | 100 = desconto total em %.
Se deixar 0,00, o desconto em valor pode ir até o total da venda.

Comissão de Vendas
Percentual sobre valor das vendas (ex: 5.0 = 5%)
Valor fixo por venda finalizada
Guia de Permissões
Níveis de Acesso:

Vendedor: Apenas criar vendas
Operador: Caixa e vendas (padrão)
Gerente: Supervisão e autorizações
Admin: Controle total

Ações Críticas:
  • Cancelamento de vendas requer permissão
  • Estorno de pagamentos requer autorização
  • Sangrias acima do limite exigem senha de superior
Alterações entram em vigor no próximo login
Cancelar
{% endblock %}