Note di aggiornamento - Portale Presenze


12 giugno 2026

Pagina Anomalie

  • Anomalie per dipendenti — I dipendenti accedono ora a /anomalie/ dalla sidebar per vedere le proprie anomalie di timbratura. Lo staff dispone di un menu a tendina per filtrare per dipendente.
  • Badge anomalie in sidebar — Contatore badge visibile nella sidebar sia per staff (totale su tutti i dipendenti) che per i dipendenti (solo le proprie). Il conteggio si basa sulle anomalie del mese corrente ed è mantenuto in cache 5 minuti per utente per non sovraccaricare il backend.

Gestione Assenze

  • Eliminazione assenze permessa a staff — La cancellazione di un’assenza approvata è ora riservata esclusivamente allo staff; il badge di eliminazione appare nel report mensile.
  • Link modifica e cancellazione dal report mensile — Dal report mensile sono ora raggiungibili direttamente il form di cancellazione delle assenze e il form di modifica timbrature per le ore extra.
  • Flusso eliminazione assenze e miglioramenti stampa — Aggiunto flusso completo di cancellazione assenza con conferma; migliorata la UI di stampa e report.

11 giugno 2026

Trasferte e Ore di Viaggio

  • Trasferta ITA/EST — I dipendenti possono richiedere giornate di trasferta italiana o estera con orario di inizio/fine lavoro. All’approvazione dello staff le timbrature appaiono nelle colonne di entrata/uscita.
  • Ore viaggio — Sezione dedicata per richiedere ore di viaggio con orario inizio/fine; viene calcolata e mostrata la quota fuori dalla finestra 08:30–17:15.
  • Pagine dedicate con code di approvazione — Trasferte e ore viaggio escono dal form permessi generico e ottengono pagine proprie con code di approvazione staff e badge contatore in sidebar.
  • Nuove colonne nel report mensile e CSV — “Ore viaggio” e “Trasferta” compaiono nel report mensile e nell’export CSV, posizionate subito dopo “Ordinarie”.

10 giugno 2026

  • Straordinario ignorato sotto i 30 minuti — Il sistema non conteggia come straordinario le sessioni che eccedono le ore contrattuali di meno di 30 minuti.
  • Modifica tipo straordinario da admin — Lo staff può modificare il tipo (banca_ore / straordinario) di una richiesta ore extra già creata.

9 giugno 2026

  • Approvazione diretta straordinari staff — L’immissione di ore extra degli utenti staff vengono approvate direttamente.
  • Filtro dipendente nelle pagine pending — Le pagine di richieste in attesa (correzioni, ore extra, permessi) mostrano un filtro per dipendente.
  • Giorni non lavorativi esclusi dalle assenze giornaliere intere — Il calcolo delle giornate di assenza ignora ora sabati, domeniche e festività.
  • Anteprima giornaliera nel form permessi — Il form di richiesta permesso mostra un’anteprima del totale ore per il giorno selezionato prima dell’invio.
  • Tema scuro unico — Rimosso il tema chiaro; l’interfaccia è ora solo scura.

8 giugno 2026

Straordinari CCNL

  • Banca ore vs. straordinario — Aggiunto campo banca_ore / straordinario. L’utente sceglie al momento della richiesta;
  • Tabella fasce orarie Art. 12 CCNL — Nel report mensile (individuale e stampa collettiva) compare una tabella con il dettaglio di ogni ora extra del mese classificata per caso CCNL Metalmeccanici (A/B/C/G/H): prime 2h feriali 25%, successive 30%, notturno feriale 50%, festivo banca ore 35%, festivo notturno banca ore 55%.
  • Colonna “Ore extra” visibile in stampa A4 — Il report mensile include la colonna ore extra anche nella versione stampabile; ordine colonne: Ordinarie → Ore extra → Assenze.

Form Permessi

  • Intervalli orari per permessi parziali — Le richieste di permesso parziale usano start/end time invece di una durata in ore.
  • Ridenominazione ROL → Permesso retribuito — L’etichetta “ROL” è sostituita da “Permesso retribuito” in tutto il portale.

7 giugno 2026

  • Banca ore e delta mensile nel report stampa — Il report di stampa collettivo (all_reports_print) include nell’intestazione di ogni dipendente il saldo totale della banca ore e la variazione del mese.

6 giugno 2026

Riscrittura motore calcolo ore

  • Calcolo straordinari basato su ore contrattuali — Rimosso il vecchio limite fisso FLEX_EXIT_MAX (18:15). Nuova regola: ordinarie = min(lavorato_netto, contrattuale_giornaliero), straordinario = max(0, lavorato_netto − contrattuale). Nei weekend il monte ore contrattuale è 0, quindi tutte le ore timbrate sono ore extra in automatico.
  • Auto-approvazione weekend/festività_sync_weekend_holiday_overtime() crea o aggiorna automaticamente un ExtendedHoursRequest approvato per ogni giorno passato di weekend o festività con timbrature complete, senza richiedere azione staff.
  • Stampa collettiva — Nuova view all_reports_print(year, month) (solo staff): carica in parallelo i dati di tutti i dipendenti attivi e li rende stampabili in un template A4.

3 giugno 2026

  • Pausa pranzo disabilitabile — Per i dipendenti con orario ridotto (es. mezza giornata) è possibile disabilitare la detrazione della pausa pranzo (12:45–13:45) tramite il campo “Nessuna pausa pranzo” sul profilo in admin.

2 giugno 2026

Festività

  • Festività nazionali italiane — Algoritmo di calcolo Pasqua/Pasquetta + 12 festività fisse: i giorni festivi sono esclusi dal conteggio dei giorni lavorativi e dal calcolo del deficit mensile.
  • Festività extra configurabili — Nuovo modello ExtraHoliday per patroni, chiusure aziendali e simili, gestibili dalla pagina /staff/extra-holidays/.

1 giugno 2026

  • Sidebar permanente — La topbar orizzontale è sostituita da una sidebar con sezioni Personale, Staff e Account..
  • Ore contrattuali per dipendente — Nuovo campo EmployeeProfile.contracted_daily_hours (default 7h45). Il calcolo ore, le assenze giornaliere intere e il monte ore mensile usano le ore contrattuali individuali invece del valore fisso precedente (8h).

28 maggio 2026

  • Approvazione ore extra — Introdotto il modello ExtendedHoursRequest con stati pending/approved/rejected. Le ore fuori dalla finestra contrattuale richiedono approvazione staff; badge e link di richiesta visibili direttamente nelle righe giornaliere.
  • Richieste manuali con approvazione staff — Le correzioni timbratura inserite manualmente dal dipendente richiedono approvazione staff prima di essere contabilizzate.
  • Pausa pranzo esclusa dal conteggio — La finestra 12:45–13:45 è detratta dalle ore nette di lavoro.
  • Coppie IN/OUT multiple — La pagina ore mostra tutte le coppie di timbratura del giorno invece dei soli first_in/last_out.

7 maggio 2026

  • Correzione manuale timbrature — I dipendenti possono richiedere la correzione di una coppia IN/OUT; la richiesta deve essere approvata dallo staff.