tipsession_log
sustavsati-api v2.1 + sati.ink frontend
sto_je_napravljeno{
"backend_models": {
"TimeEntry_novi_stupci": [
"regular_min INTEGER DEFAULT 0",
"night_min INTEGER DEFAULT 0",
"sunday_min INTEGER DEFAULT 0",
"holiday_min INTEGER DEFAULT 0",
"absence_type VARCHAR(20) DEFAULT ''",
"is_holiday BOOLEAN DEFAULT FALSE"
],
"init_db": "ALTER TABLE IF NOT EXISTS za sve stupce — migracija primijenjena"
},
"backend_routers_time": {
"_calc_night_overlap_min": "O(1) interval math — minute 22:00-06:00 ZOR čl.50",
testovi{
"_calc_hour_types_night_22_06": "480min total, 480min noćni ✓",
"_calc_hour_types_sunday_8h": "450min total, 450min nedjeljni ✓",
"init_db": "6 novih stupaca dodano u time_entries ✓",
"openapi_endpoints": "35 endpointa, PUT /time/profile/{gid} live ✓",
"timesheet_params": "absence_type/has_overtime/has_night/has_sunday ✓"
}
pending_sprint2[
"Billing — WorkGroup.subscription_tier, Stripe/faktura",
"Platna lista PDF (M-8 obrazac)",
"Provjera GENESIS_API_TOKEN na DE za dokarh push",
"Field photos (TimeEntryPhoto model)",
"POS clock-in integracija"
]
zakon_reference{
"ZAKON_27": "weise3_id + bunker_seal_id + created_at na svim modelima ✓",
"ZOR_cl50": "Noćni rad 22:00-06:00 kalkulacija",
"ZOR_cl51": "Nedjeljna smjena kalkulacija",
"ZOR_cl94": "Prekovremeni >8h/dan"
}