# Acceso de empresas al maestro de clientes

Activar el acceso al crear o editar, escribir la contraseña (8 a 72 caracteres) y guardar. En edición dejarla vacía conserva la actual. Desde el listado, pulsar **Enviar credenciales**: envía enlace, RUC y contraseña guardada al correo de la empresa. Guardar no envía automáticamente y reenviar no cambia la contraseña.

La autenticación usa un hash. Para poder enviar posteriormente la contraseña elegida también se guarda una copia cifrada con APP_KEY, oculta de la serialización, edición y auditoría. Conservar APP_KEY al trasladar la base. Las empresas con credenciales de la versión anterior deben guardar una contraseña en Editar antes de enviarla.

Desactivar el acceso elimina credenciales. Cambiar correo, RUC o cuenta también las invalida: guardar una contraseña y enviar las credenciales tras el cambio. La sesión dura dos horas y solo permite campos del maestro visibles al cliente. El formulario futuro aún no está incluido.

## Archivos para hosting

- `database/migrations/2026_09_12_000001_add_company_form_access.php`
- `database/migrations/2026_09_12_000002_add_company_form_delivery_password.php`
- `app/Models/Empresas/Empresa.php`
- `app/Filament/Resources/Empresas/EmpresaResource.php`
- `app/Filament/Resources/Empresas/Schemas/EmpresaForm.php`
- `app/Filament/Resources/Empresas/Pages/ListEmpresas.php`
- `app/Filament/Resources/Empresas/Tables/EmpresasTable.php`
- `app/Services/Work/CompanyPortalService.php`
- `app/Http/Controllers/CompanyPortalController.php`
- `app/Mail/CompanyPortalCredentials.php`
- `resources/views/emails/company-portal-credentials.blade.php`
- `resources/views/company-master/login.blade.php`
- `resources/views/company-master/form.blade.php`
- `routes/web.php`

Desde la raíz del proyecto:

```sh
php artisan migrate --force
php artisan optimize:clear
```

APP_URL debe contener la URL HTTPS real con el subdirectorio correspondiente. El envío usa correo por empresa, cuenta o respaldo global. Las pruebas simulan el correo; verificar entrega real en hosting.
