# -*- coding: utf-8 -*- # Copyright 2026 Nexa Systems Inc. # License OPL-1 (Odoo Proprietary License v1.0) from odoo import api, SUPERUSER_ID def migrate(cr, version): """Retire the single-threshold break param (superseded by per-rule break1_after_hours), and force-recompute the now-computed break field so existing closed attendances reflect the province rule + their penalties.""" cr.execute( "DELETE FROM ir_config_parameter WHERE key = %s", ('fusion_clock.break_threshold_hours',), ) env = api.Environment(cr, SUPERUSER_ID, {}) Attendance = env['hr.attendance'] field = Attendance._fields['x_fclk_break_minutes'] closed = Attendance.search([('check_out', '!=', False)]) if closed: env.add_to_compute(field, closed) closed.flush_recordset(['x_fclk_break_minutes'])