mirror of
https://gitlab.com/itsulu-odoo/itsulu-blog-publisher.git
synced 2026-05-30 23:41:23 +00:00
First static porting pass for the Odoo 14.0 branch:
- data/mail_template_data.xml: revert from 17.0 qweb (type="html",
<t t-out>) to Odoo 14 Jinja2 (${...}, % if, % for)
- views: convert 6 Odoo-17-style invisible="state == '...'" attributes
to Odoo 14 attrs="{'invisible': [domain]}" (blog_topic, blog_generation_log)
- PORTING.md: tick completed items, note remaining (data-test-id RNG,
blog.post.content on 14, pytest pinning for Py3.7)
Static pass only — not yet verified on a live Odoo 14 instance.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2.5 KiB
2.5 KiB
Porting status — Odoo 14.0 branch
This branch targets Odoo Community 14.0 — the version ITSulu runs in production. It was seeded from the 17.0 baseline and the Odoo-14 porting is tracked here. Until every item is verified, treat this branch as work in progress — do not deploy to the production 14.0 instance unverified.
The product feature set is the same across all Odoo branches; only the Odoo-API-specific code differs. Odoo 14 is older than the 17.0 baseline, so several things move backwards. See
CLAUDE.md§15 for the branch model and §11.5 / §12 for version-specific gotchas.
Series markers (done)
.odoo-series=14.0Dockerfilebase image =odoo:14.0- manifest version prefix =
14.0.(viabump-version.sh)
API porting checklist (verify on a real Odoo 14.0 instance)
- Mail template syntax — reverted to Jinja2.
data/mail_template_data.xmlrestored to Odoo 14's Jinja2 (${...},% if,% for) instead of the 17.0 qwebtype="html". - View conditional attributes →
attrs. Converted the 6 Odoo-17-styleinvisible="state == '…'"attributes (blog_topic, blog_generation_log) to Odoo 14attrs="{'invisible': [domain]}". - [~] Mail render API. Odoo 14
_render_field(field, res_ids, engine='jinja')exists — the tests'_render_field('subject', [id])should work now that the template is Jinja. Verify live. - [~] Python:
'ImageResult | None'inimage_router.pyis a quoted (3.7-safe) annotation; no walrus / 3.9 subscript generics found. data-test-idattributes in views — confirm Odoo 14 RNG accepts them (Playwright-only; may need removal/guarding on 14).blog.postbody field name on 14.0 (the 17.0 baseline writescontent— confirm 14.0).@api.model_create_multi,name_get, and other ORM signatures valid on 14.0.ir.cron+ mail data XML formats.- pytest / pytest-odoo / pytest-bdd versions compatible with odoo:14.0's Python 3.7.
- Full test suite green on a 14.0 template DB (K8s job, §8, base image
odoo:14.0).
How to work this branch
- Stand up a 14.0 template DB (mirror §8, base image
odoo:14.0). - Start with the mail template (Jinja revert) and the render API — those are the biggest deltas.
- Run the suite, fix one Odoo-API difference at a time.
- Record each gotcha in
CLAUDE.md§12 tagged with the series. - When green, cut a release on this branch (
bump-version.sh→ tag14.0-vX.Y.Z).