feat(projects): usuarios/empresas del proyecto como tablas Rappasoft + permiso assign companies

- Permiso 'assign companies' propio (antes empresas reutilizaba 'assign users');
  concedido a los roles que ya tenían 'assign users'.
- ProjectUsersTable y ProjectCompaniesTable (Rappasoft): búsqueda, filtro por rol,
  cambio de rol en línea y quitar; gateadas por assign users / assign companies.
- ProjectUsers/ProjectCompanies quedan como contenedor (form de asignación) que
  embebe la tabla y refresca el desplegable vía eventos.
- Unificadas confirmaciones (wire:confirm) y notificaciones (dispatch notify).

Tests: ProjectAssignmentsTest (4). Suite 69 passing (solo 2 pre-existentes sqlite).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-06-18 16:22:59 +02:00
parent c378ab5884
commit 480dfc657f
8 changed files with 433 additions and 188 deletions
@@ -53,6 +53,7 @@ class PermissionCatalogSeeder extends Seeder
'create companies' => 'Crear empresas',
'edit companies' => 'Editar empresas',
'delete companies' => 'Eliminar empresas',
'assign companies' => 'Asignar empresas/roles a proyectos',
],
'Usuarios' => [
'view users' => 'Ver usuarios',