Teams — Dettaglio
La pagina Dettaglio team (/dashboard/teams/:id) consente la gestione operativa di un singolo team: anagrafica, membri, progetti collegati e ciclo di vita (attivo/inattivo).
Esperienza utente
Cosa si può fare
- Visualizzare informazioni del team (nome, SM, BU, stato, descrizione)
- Modificare i dati del team (dialog di aggiornamento)
- Gestire i membri: aggiunta, rimozione, modifica ruolo in team
- Consultare i progetti associati al team
- Disattivare / riattivare il team (con conferma)
- Eliminare il team (con conferma)
Chi può accedere
Utenti con PoliciesService.canManageTeams() (write policies su teams.*). La route è protetta da teamDetailGuard; altrimenti redirect a /dashboard/teams.
Vedi Accesso e ruoli.
Dettaglio tecnico
Guard e navigazione
flowchart TD
A[GET /teams/:id] --> G{teamDetailGuard}
G -->|canManageTeams| D[TeamDetailComponent]
G -->|no| R[Redirect /dashboard/teams]
Breadcrumb e ritorno
Il query param from (es. from=user-detail) permette di personalizzare il breadcrumb e il pulsante indietro tramite UserDetailNavigationState — utile quando si arriva al team dal profilo di un utente.
Operazioni e dialog
| Azione | Componente |
|---|---|
| Aggiorna team | TeamUpdateDialogComponent |
| Aggiungi membro | TeamAddMemberComponent |
| Conferma disattiva/elimina | CommonConfirmDialogComponent |
TeamsService espone le chiamate CRUD; FormDropdownValuesService e SkillService alimentano i form.
Sezioni UI
| Sezione | Componente |
|---|---|
| Header | TeamHeaderComponent |
| Info | TeamInfoComponent |
| Membri | TeamMembersComponent |
| Progetti | TeamProjectsComponent |
File principali
| File | Ruolo |
|---|---|
src/pages/team-detail/team-detail.component.ts |
Orchestrazione |
src/components/team-detail/ |
Sezioni e dialog |
src/services/teams.service.ts |
API |
src/guards/teams.guard.ts |
Protezione route |