from odoo import fields, models


class XenoLateDeductionLog(models.Model):
    _name = "xeno.late.deduction.log"
    _description = "Monthly late check-in deduction record (audit trail + idempotency guard)"
    _order = "year desc, month desc, id desc"

    employee_id = fields.Many2one("hr.employee", required=True, ondelete="cascade")
    year = fields.Integer(required=True)
    month = fields.Integer(required=True)
    late_minutes = fields.Integer(string="Total Late (min)")
    deducted_days = fields.Float(digits=(16, 2))
    leave_type_id = fields.Many2one("hr.leave.type")
    leave_id = fields.Many2one("hr.leave", ondelete="set null")

    _sql_constraints = [
        ("xeno_unique_employee_month",
         "unique(employee_id, year, month)",
         "This employee's late check-in has already been processed for this month."),
    ]
