3. Permissões por operador (RBAC)
Cada operador tem um papel: admin, caixa, garcom, cozinha, motoboy, marketing, fiscal. O papel entra na sessão no login (master = admin).
Automação: @admin_bp.before_request chama _papel_pode(path) contra _ROTAS_RESTRITAS → 403 real no backend (não só menu escondido). Menu some via pode_area() (context processor global, funciona fora do admin_bp).
Além do papel (RBAC granular, §8): cada operador também tempermissoes(JSON com chaves finas —pedido.cancelar,caixa.reabrir,estoque.ver_custo…),limite_descontoeunidades(escopo por filial). Helpers_pode_permissao()/_limite_desconto_operador(). O papel é o default; a permissão fina refina.
| Área sensível | Papéis (além de admin) |
|---|---|
| Financeiro, BI, DRE, despesas | fiscal, caixa |
| Conciliação, contas a receber, TEF | fiscal, caixa |
| Config Fiscal, Cadastro Fiscal, Notas | fiscal (notas: +caixa) |
| Insumos, Ficha/CMV, Compras, Inventário, Estoque | fiscal, caixa, cozinha |
| KDS | cozinha, caixa, garçom |
| Roteirização | caixa, motoboy |
| CRM | marketing, caixa |
| Operadores | só admin |
Versão para IA/crawler: /manual.md (Markdown cru) · /manual/completo (página única) · /sitemap.xml