<?xml version="1.0" encoding="utf-8"?>
<odoo>
    <data noupdate="1">

        <!-- ============================================================
             Daily Overrun Check (S11)
        ============================================================ -->
        <record id="cron_check_task_overrun" model="ir.cron">
            <field name="name">JB Timesheets: Check Task Hour Overruns</field>
            <field name="model_id" ref="project.model_project_task"/>
            <field name="state">code</field>
            <field name="code">model._check_overrun_and_notify()</field>
            <field name="interval_number">1</field>
            <field name="interval_type">days</field>
            <field name="numbercall">-1</field>
            <field name="active" eval="True"/>
            <field name="user_id" ref="base.user_root"/>
        </record>

        <!-- ============================================================
             Weekly Timesheet Reminder (S12) – Mondays at 08:00
        ============================================================ -->
        <record id="cron_timesheet_reminder" model="ir.cron">
            <field name="name">JB Timesheets: Weekly Timesheet Reminder</field>
            <field name="model_id" ref="hr.model_hr_employee"/>
            <field name="state">code</field>
            <field name="code">model._send_timesheet_reminders()</field>
            <field name="interval_number">1</field>
            <field name="interval_type">weeks</field>
            <field name="numbercall">-1</field>
            <field name="active" eval="True"/>
            <field name="user_id" ref="base.user_root"/>
            <!-- nextcall: next Monday at 08:00 UTC -->
            <field name="nextcall" eval="
                (datetime.now().replace(hour=8, minute=0, second=0, microsecond=0)
                 + timedelta(days=(7 - datetime.now().weekday()) % 7 or 7)).strftime('%Y-%m-%d %H:%M:%S')
            "/>
        </record>

        <!-- ============================================================
             Monthly remind_count Reset (S13) – last day of each month
             (Run daily; Python code checks if today is the last day)
        ============================================================ -->
        <record id="cron_monthly_reset" model="ir.cron">
            <field name="name">JB Timesheets: Monthly Remind Count Reset</field>
            <field name="model_id" ref="hr.model_hr_employee"/>
            <field name="state">code</field>
            <field name="code">model._reset_monthly_remind_count_if_last_day()</field>
            <field name="interval_number">1</field>
            <field name="interval_type">days</field>
            <field name="numbercall">-1</field>
            <field name="active" eval="True"/>
            <field name="user_id" ref="base.user_root"/>
        </record>

    </data>
</odoo>
