# Patch 3 — menu e permissões

## Menu lateral

**Ficheiro:** `resources/views/adminlte/menu.blade.php`

Dentro do bloco `@if($permissao->exibir_encomenda)` → `<ul class="nav nav-treeview">`
(por volta da linha 1025), a seguir ao item **Painel de Alocação**, acrescentar:

```blade
                                @if($permissao->exibir_portal_descargas)
                                    <li class="nav-item">
                                        <a href="{{ route('portal_descargas.index') }}" class="nav-link">
                                            <i class="far fa-circle nav-icon"></i>
                                            <p>Portal de Descargas</p>
                                        </a>
                                    </li>
                                @endif
```

E o mapa de RH, logo a seguir:

```blade
                                @if($permissao->exibir_folha_servico)
                                    <li class="nav-item">
                                        <a href="{{ route('resumo_rh.index') }}" class="nav-link">
                                            <i class="far fa-circle nav-icon"></i>
                                            <p>Mapa Resumo de RH</p>
                                        </a>
                                    </li>
                                @endif
```

E, para o motorista ver a app a partir do menu (ou aceder direto a `/motorista`),
num sítio de topo do menu:

```blade
                    @if($permissao->app_motorista)
                        <li class="nav-item">
                            <a href="{{ route('motorista.app') }}" class="nav-link">
                                <i class="fas fa-truck nav-icon"></i>
                                <p>A minha rota</p>
                            </a>
                        </li>
                    @endif
```

---

## Ecrã de perfis de acesso

**Ficheiro:** o formulário de `Tipo_Usuario` (perfis de acesso).

Acrescentar os seis novos campos, seguindo o padrão dos restantes checkboxes:

| Campo | Para quem |
|---|---|
| `exibir_portal_descargas` | Logística, direção |
| `atribuir_mapas_carga` | Logística |
| `gerir_acessos_motorista` | Logística |
| `exibir_folha_servico` | Logística, RH |
| `editar_folha_servico` | RH |
| `app_motorista` | **Só o perfil "Motorista"** |

> **Importante:** o `MapaCargaService::criarAcessoTemporario()` procura o perfil
> com `app_motorista = 1` para atribuir aos motoristas externos. Crie esse perfil
> **antes** de usar a função, senão o utilizador externo fica sem perfil.

---

## Perfil "Motorista" — sugestão de configuração

Criar um perfil de acesso novo, chamado **Motorista**, com:

- `app_motorista = 1`
- todo o resto a 0 (não deve ver backoffice nenhum)

E, no cadastro de cada motorista (`drivers`), preencher o campo **Utilizador**
(`user_id`) a apontar para o login dele. É esse campo que o
`Driver::doUsuario()` usa para saber que motorista está a usar a app.
