Full fl_deadline.py: - Calendar event creation/update on every deadline (all-day events) - _cron_check_default_judgment: FL 12.922 — if respondent misses Day 20 answer deadline, auto-creates Motion for Default deadline (5 days), project task, and urgent chatter alert - _cron_deadline_alerts: 7/3/1-day and overdue chatter alerts - Complete service-anchored deadline set: response (Day 20), financial disclosure + mandatory disclosure cert (Day 45), discovery opens (Day 20), respondent parenting class (Day 60), 120-day service max - context-flag pattern (_no_calendar_sync) to prevent recursive write loops Full fl_hearing.py: - Calendar event sync (show_as=busy, confidential) - Pre-hearing checklist computed fields: parenting class (FL 61.21), discovery cutoff (hearing -30 days), financial disclosure status - Workflow buttons: Mark Completed, Mark Continued, Cancel - _create_hearing_deadline: creates fl.deadline record for each hearing New data/fl_deadline_rules.xml: - ir.cron: Daily Deadline Alerts (fl_deadline._cron_deadline_alerts) - ir.cron: Default Judgment Check (fl_deadline._cron_check_default_judgment) - ir.cron: Emancipation Alerts (fl_child._cron_emancipation_alerts) New data/mail_templates.xml: - Deadline Alert Upcoming (EN) - Deadline Alert OVERDUE (EN) - Portal Welcome (EN + ES bilingual) - Default Judgment Window Alert (EN) Enhanced views: deadline + hearing now have calendar view, search view with filters (overdue, due this week, by type), and group-by options. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
50 lines
2.5 KiB
XML
50 lines
2.5 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<odoo>
|
|
<data noupdate="1">
|
|
|
|
<!-- ══════════════════════════════════════════════════════
|
|
SCHEDULED ACTIONS (ir.cron)
|
|
══════════════════════════════════════════════════════ -->
|
|
|
|
<!-- Daily: Send deadline alerts at 7, 3, 1 days and on overdue -->
|
|
<record id="cron_fl_deadline_alerts" model="ir.cron">
|
|
<field name="name">FL Family Law: Daily Deadline Alerts</field>
|
|
<field name="model_id" ref="model_fl_deadline"/>
|
|
<field name="state">code</field>
|
|
<field name="code">model._cron_deadline_alerts()</field>
|
|
<field name="interval_number">1</field>
|
|
<field name="interval_type">days</field>
|
|
<field name="numbercall">-1</field>
|
|
<field name="active">True</field>
|
|
<field name="user_id" ref="base.user_root"/>
|
|
</record>
|
|
|
|
<!-- Daily: Check for default judgment triggers (FL 12.922) -->
|
|
<record id="cron_fl_default_judgment" model="ir.cron">
|
|
<field name="name">FL Family Law: Check Default Judgment Triggers (FL 12.922)</field>
|
|
<field name="model_id" ref="model_fl_deadline"/>
|
|
<field name="state">code</field>
|
|
<field name="code">model._cron_check_default_judgment()</field>
|
|
<field name="interval_number">1</field>
|
|
<field name="interval_type">days</field>
|
|
<field name="numbercall">-1</field>
|
|
<field name="active">True</field>
|
|
<field name="user_id" ref="base.user_root"/>
|
|
</record>
|
|
|
|
<!-- Daily: Check child emancipation approaching (90-day window) -->
|
|
<record id="cron_fl_emancipation_alerts" model="ir.cron">
|
|
<field name="name">FL Family Law: Child Emancipation Approaching Alerts</field>
|
|
<field name="model_id" ref="model_fl_child"/>
|
|
<field name="state">code</field>
|
|
<field name="code">model._cron_emancipation_alerts()</field>
|
|
<field name="interval_number">1</field>
|
|
<field name="interval_type">days</field>
|
|
<field name="numbercall">-1</field>
|
|
<field name="active">True</field>
|
|
<field name="user_id" ref="base.user_root"/>
|
|
</record>
|
|
|
|
</data>
|
|
</odoo>
|