Make module installable on stock Odoo 18 (verified via test DB install)

Caught and fixed by running an actual install on a throwaway DB:

- Strip 29 # comment lines from ir.model.access.csv (Odoo CSV loader treats
  them as malformed rows → IndexError); 79 data rows preserved
- Remove obsolete ir.cron.numbercall field (removed in Odoo 17+) from 4 cron
  records in fl_deadline_rules.xml
- Rename <tree>→<list> across 26 sites; inside x2many inline views Odoo 18 no
  longer recognizes <tree>, which made it fall back to the outer model and
  reject inner fields ("Field 'partner_id' does not exist in model 'fl.case'")
- Add store=True to non-stored computed fields referenced by search filters,
  which Odoo 18 now rejects as unsearchable:
  - fl.case: overdue_deadline_count, next_deadline_label
  - fl.deposition: notice_valid

Module loads cleanly: 31 fl.* models registered, no errors.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-05-30 03:28:55 +00:00
parent 983964c6d2
commit c1b5947b7c
19 changed files with 55 additions and 88 deletions

View File

@@ -14,7 +14,6 @@
<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>
@@ -27,7 +26,6 @@
<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>
@@ -40,7 +38,6 @@
<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>
@@ -53,7 +50,6 @@
<field name="code">model._cron_discovery_overdue_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>