Implantação na hora de gerar o holerite de um motorista sem conta (deve aparecer o aviso)

This commit is contained in:
2026-06-18 20:56:09 -03:00
parent 6d246cadb8
commit 731774c32a
4 changed files with 2333 additions and 1 deletions

View File

@@ -619,6 +619,19 @@ Aplicar com: `docker-compose exec app bundle exec rails db:migrate`
(selo de pagamento, total) tenha folga **≥ a própria altura** para não sobrepor o conteúdo
seguinte.
- **QR Code não aparecia para alguns motoristas:** o QR aponta para o painel do motorista
(`/motorista/acesso/:token`), que **exige uma conta de usuário** (`User` motorista com
`login_token`). Sem conta correspondente, `user_motorista` ficava `nil` e a seção do QR era
**omitida silenciosamente**. Duas causas tratadas:
- **Nome não batia** (espaços/maiúsculas) entre `consolidacao_motoristas.motorista_nome`
(dado externo) e `users.nome` (digitado no admin). ✅ `ConsolidacoesController#buscar_user_motorista`
agora tenta o match exato e, se falhar, compara nomes **normalizados** (sem espaços
extras/duplos, case-insensitive).
- **Motorista sem conta:** ✅ em vez de omitir, o holerite agora desenha um **aviso**
("Cadastro de acesso ainda não disponível… solicite ao administrador") no lugar do QR
(`HoleritePdf#desenhar_aviso_sem_acesso`). O QR só existe para motoristas **com cadastro**
no site — comportamento esperado, já que sem conta não há painel para acessar.
### 📌 Padrão (novo)
- **PDFs com Prawn**: usar **sempre** a fonte TTF registrada no `BasePdf` (DejaVu, UTF-8). Nunca
contar com a fonte embutida — ela quebra em qualquer caractere fora do Windows-1252.