Migrate views to Odoo 17/18 syntax; fix pre-existing XML blockers
- Convert all 124 attrs="{...}" across 13 view files to direct Odoo 17/18
attributes (invisible/readonly/required with Python expressions); prefix-domain
OR/AND/NOT and operators handled (e.g. "(is_overdue or days_until_due > 7) and completed")
- Fix pre-existing XML errors that blocked module load on any version:
- Replace invalid HTML entity with   in 4 files (reports + portal)
- Merge duplicate style= attributes (3 spots in website_intake_templates)
- Replace 3 illegal <t t-if> embedded in class="" attributes with t-attf-class
- All 44 module XML files now parse clean
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -49,7 +49,7 @@
|
||||
</div>
|
||||
<div class="fl-deadline-date text-muted" style="font-size:0.85rem;">
|
||||
Filed: <t t-esc="case.filing_date or 'Pending'"/>
|
||||
| Case No.: <t t-esc="case.court_case_number or 'Pending'"/>
|
||||
 |  Case No.: <t t-esc="case.court_case_number or 'Pending'"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-3">
|
||||
@@ -134,9 +134,9 @@
|
||||
<div class="fl-case-meta">
|
||||
<t t-esc="dict([('dissolution','Dissolution of Marriage'),('paternity','Paternity'),('child_support','Child Support'),('modification','Modification'),('injunction','Injunction / DV')]).get(case.case_type, case.case_type)"/>
|
||||
<t t-if="case.court_case_number">
|
||||
| Case No. <t t-esc="case.court_case_number"/>
|
||||
 | Case No. <t t-esc="case.court_case_number"/>
|
||||
</t>
|
||||
| Filed <t t-esc="case.filing_date or 'Pending'"/>
|
||||
 | Filed <t t-esc="case.filing_date or 'Pending'"/>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
@@ -148,7 +148,7 @@
|
||||
<!-- Stats row -->
|
||||
<div class="row g-3 mb-4">
|
||||
<div class="col-6 col-md-3">
|
||||
<div class="fl-stat-card <t t-if='case.overdue_deadline_count'>danger</t>">
|
||||
<div t-attf-class="fl-stat-card #{'danger' if case.overdue_deadline_count else ''}">
|
||||
<div class="fl-stat-number"><t t-esc="case.overdue_deadline_count or 0"/></div>
|
||||
<div class="fl-stat-label">Overdue</div>
|
||||
</div>
|
||||
@@ -166,7 +166,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-6 col-md-3">
|
||||
<div class="fl-stat-card <t t-if='case.threshold_met'>success</t>">
|
||||
<div t-attf-class="fl-stat-card #{'success' if case.threshold_met else ''}">
|
||||
<div class="fl-stat-number" style="font-size:1.2rem;">
|
||||
<t t-if="case.threshold_met">✓ Met</t>
|
||||
<t t-else="">—</t>
|
||||
@@ -277,7 +277,7 @@
|
||||
<t t-esc="doc.document_type or 'Document'"/>
|
||||
</div>
|
||||
</div>
|
||||
<span class="fl-doc-badge <t t-if='doc.state == \"filed\"'>filed</t><t t-elif='doc.state == \"draft\"'>draft</t>">
|
||||
<span t-attf-class="fl-doc-badge #{'filed' if doc.state == 'filed' else 'draft' if doc.state == 'draft' else ''}">
|
||||
<t t-esc="(doc.state or 'draft').title()"/>
|
||||
</span>
|
||||
</a>
|
||||
@@ -294,7 +294,7 @@
|
||||
<strong><t t-esc="case.next_hearing.name"/></strong><br/>
|
||||
<t t-esc="case.next_hearing.hearing_date"/>
|
||||
<t t-if="case.next_hearing.location">
|
||||
| <t t-esc="case.next_hearing.location"/>
|
||||
 | <t t-esc="case.next_hearing.location"/>
|
||||
</t>
|
||||
<div class="mt-2" style="font-size:0.85rem;">
|
||||
<t t-if="case.next_hearing.parenting_class_warning">
|
||||
|
||||
Reference in New Issue
Block a user