Vai al contenuto

Form straordinari

Il Form straordinari (/dashboard/overtime) consente di richiedere ore di straordinario per sé o per uno o più collaboratori, su un progetto specifico.

Esperienza utente

Campi principali

Campo Note
Modalità richiesta "Per me stesso" oppure "Per uno o più collaboratori"
Progetto Select da progetti assegnati
Collaboratori Multi-select (solo in modalità multi)
Data Non precedente a oggi
Ora inizio / fine Calcolo automatico ore totali
Tipo straordinario Feriale, Notturno, Festivo, Domenicale, Reperibilità/Intervento
Luogo di lavoro On-site, Remoto, Cliente
Descrizione attività Testo libero

Flusso

  1. Scelta modalità e progetto
  2. Se multi-collaboratore: caricamento lista persone del progetto
  3. Compilazione orari e dettagli
  4. Invio → conferma successo

Chi può accedere

Tutti gli utenti autorizzati.

Dettaglio tecnico

Caricamento collaboratori

Il set di persone selezionabili dipende dal progetto:

Progetto Fonte persone
Paradigma Processi PeopleService.getAllUsers() — tutta l'anagrafica
Altri progetti ProjectService.getProjectById() — solo membri del progetto

Validazione orari

timeRangeValidator custom verifica coerenza inizio/fine. sumHours è calcolato automaticamente dai campi ora.

Integrazione Zapier

ZapierService.sendOvertimeToZapier() → stesso endpoint Zapier su Lambda people (/v1/persons/zapier).

Form dinamico

showRequestModeMultiple signal attiva/disattiva il controllo multi-select collaboratori in base alla modalità scelta (setupFormSubscriptions).

File principali

File Ruolo
src/pages/overtime-form/overtime-form.component.ts Form, validazione, submit
src/services/zapier.service.ts Invio
src/services/project.service.ts Membri progetto
src/models/zapier.ts OvertimeData