# Instalar: Atribuir Work Orders a Fornecedores Externos

## Ficheiros a substituir

```
app/Livewire/Admin/TechnicianIndex.php
resources/views/livewire/admin/technician-index.blade.php

app/Livewire/Admin/MaintenanceRequestShow.php    (dropdown mostra interno/fornecedor)
resources/views/livewire/admin/maintenance-request-show.blade.php

app/Livewire/Admin/WorkOrderShow.php               (idem, na reatribuição)
resources/views/livewire/admin/work-order-show.blade.php
```

Sem migrations — o suporte a técnicos externos já existia na base de
dados desde o início, só faltava a interface.

```bash
cd ~/public_html/app.amimak.co.mz
php artisan config:clear
php artisan view:clear
```

## Resposta à pergunta

**Não**, não estás preso a técnicos internos. O sistema sempre foi
desenhado para técnicos internos serem o caso normal, e fornecedores
externos o caso excepcional (ex: manutenção de elevadores) — mas até
agora a interface só deixava criar técnicos internos.

## O que mudou

`/admin/technicians` → "+ Novo" → escolhe **Interno** ou **Externo
(fornecedor)**:

- **Interno**: como já era — nome, contacto, especialidades
- **Externo**: obriga a escolher a **qual fornecedor** esse técnico
  pertence (lista dos que já criaste em `/admin/service-providers`) — se
  ainda não tiveres nenhum, aparece um aviso com link directo para
  criares um primeiro

A listagem de técnicos agora mostra **todos** (antes só mostrava
internos), com uma etiqueta a identificar se é "Interno" ou o nome do
fornecedor.

Ao criar uma Work Order ou reatribuir técnico, o dropdown já mostra
"Nome — Fornecedor X" para técnicos externos, para nunca haver confusão
sobre quem é quem.

**Nota técnica**: quando atribuis um técnico externo a uma Work Order, o
`service_provider_id` da própria Work Order é preenchido automaticamente
(usado depois em Orçamentos/Facturas para saber a quem pagar) — isto já
funcionava no motor, só a interface é que agora permite mesmo chegar lá.

## Testar

1. `/admin/service-providers` → confirma que tens pelo menos um fornecedor
   activo (cria um se não tiveres)
2. `/admin/technicians` → "+ Novo" → "Externo" → escolhe o fornecedor →
   preenche nome → Guardar
3. Confirma que aparece na listagem com a etiqueta do fornecedor
4. Num pedido `APPROVED`, cria a Work Order e confirma que esse técnico
   externo aparece no dropdown, identificado como tal
