Posizioni e dipartimenti
La sezione Posizioni e dipartimenti (/dashboard/positions-and-businessunit) amministra il catalogo di posizioni lavorative e dipartimenti (business unit).
Esperienza utente
Tab
| Tab | Route | Contenuto |
|---|---|---|
| Posizioni | /dashboard/positions-and-businessunit/positions |
Card posizioni |
| Dipartimenti | /dashboard/positions-and-businessunit/businessunit |
Card dipartimenti |
Cosa si può fare
- Cercare entità per nome (condiviso tra tab, sync
?search=in URL) - Aggiungere posizione o dipartimento (policies
positions.create/businessUnits.create) - Modificare o eliminare dalle card (policies update/delete, con conferma su delete)
Chi può accedere
- Lettura: tutti
- Scrittura: policies
positions.*/businessUnits.*
Vedi Accesso e ruoli.
Dettaglio tecnico
Shell con tab
PositionsAndBusinessunitComponent ospita il router outlet e la barra di ricerca condivisa. PositionAndBusinessunitService mantiene lo stato di ricerca e i flag "aggiunta in corso".
Guard su uscita tab
| Guard | Tab | Comportamento |
|---|---|---|
positionGuard |
Posizioni | Se si sta aggiungendo una card e si cambia tab/route, lo stato "adding" viene resettato |
businessUnitGuard |
Dipartimenti | Stesso pattern per business unit |
Evita card "fantasma" di inserimento quando l'utente naviga via senza salvare.
API
| Entità | Servizio | Endpoint | Lambda |
|---|---|---|---|
| Posizioni | PositionService |
/v1/positions |
admin |
| Dipartimenti | BusinessunitService |
/v1/business-units |
admin |
Componenti card
position-card/— CRUD posizionebusinessunit-card/— CRUD dipartimento
File principali
| File | Ruolo |
|---|---|
src/pages/positions-and-businessunit/ |
Shell tab |
src/pages/positions/positions.component.ts |
Lista posizioni |
src/pages/businessunit/businessunit.component.ts |
Lista BU |
src/services/position.service.ts |
API posizioni |
src/services/businessunit.service.ts |
API BU |
src/services/position-and-businessunit.service.ts |
Stato condiviso |
src/guards/position.guard.ts |
Reset su navigate |
src/guards/businessunit.guard.ts |
Reset su navigate |