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
Navigazione
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.