Vai al contenuto

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]

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