28892f56b596e46359568b064c7b8f465a708c19
Each button_start opens a fresh timelog row; button_finish closes the open row and recomputes step.duration_actual as the sum of all interval durations. Replicates Odoo MRP's mrp.workorder.time_ids granularity natively (no mrp dep). Schema: step_id (M2O cascade), user_id, date_started, date_finished, duration_minutes (computed, stored). ACLs: operator get create permission on timelogs because button_start creates them. Tests: test_start_creates_timelog (asserts the log row exists, date_finished is False, user_id is the current user) and test_finish_closes_timelog (asserts log gets date_finished, has a non-negative duration, and step.duration_actual matches). Manifest 19.0.8.5.1 -> 19.0.8.6.0. Part of: native job model migration (spec 2026-04-25) Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Description
Odoo 19 custom modules
Languages
Python
55.9%
HTML
26.1%
JavaScript
14.9%
SCSS
1.8%
CSS
0.8%
Other
0.4%