fix(portal): /my/orders 500 — QWeb t-value is Python not Jinja, |length is bitwise OR
orders|length in t-value parses as orders | length, not as a Jinja length filter. orders is a sale.order recordset; the `length` identifier resolves to None; Python evaluates recordset | None and raises TypeError. Use len(orders) instead. Also documents the gotcha in CLAUDE.md (rule 19) so future templates don't reach for Jinja-style filters in t-value. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -39,7 +39,7 @@
|
||||
<!-- Odoo's portal.portal_table emits a <table class="o_portal_my_doc_table">
|
||||
so we don't need to add our own id; the JS just needs a stable selector. -->
|
||||
<t t-set="target" t-value="'.o_portal_my_doc_table tbody'"/>
|
||||
<t t-set="result_total" t-value="orders|length if orders else 0"/>
|
||||
<t t-set="result_total" t-value="len(orders) if orders else 0"/>
|
||||
<t t-set="clipped" t-value="False"/>
|
||||
</t>
|
||||
</xpath>
|
||||
|
||||
Reference in New Issue
Block a user