From ba1e6e59d9bd7e67fe4198e3ba214a708f030b28 Mon Sep 17 00:00:00 2001 From: sergio-teruel Date: Sat, 17 Oct 2026 09:37:06 +0200 Subject: [PATCH] [OU-FIX] fleet: compute the stored image_128 --- docsource/modules160-170.rst | 2 +- .../scripts/fleet/17.0.0.1/post-migration.py | 21 +++++++++++++++++++ .../fleet/17.0.0.1/upgrade_analysis_work.txt | 2 ++ 3 files changed, 24 insertions(+), 1 deletion(-) create mode 100644 openupgrade_scripts/scripts/fleet/17.0.0.1/post-migration.py diff --git a/docsource/modules160-170.rst b/docsource/modules160-170.rst index 058c040e5b03..a17fb1c7469e 100644 --- a/docsource/modules160-170.rst +++ b/docsource/modules160-170.rst @@ -142,7 +142,7 @@ Module coverage 16.0 -> 17.0 +---------------------------------------------------+----------------------+-------------------------------------------------+ | event_sms | |No DB layout changes. | +---------------------------------------------------+----------------------+-------------------------------------------------+ -| fleet | Nothing to do | | +| fleet | Done | | +---------------------------------------------------+----------------------+-------------------------------------------------+ | gamification | Done | | +---------------------------------------------------+----------------------+-------------------------------------------------+ diff --git a/openupgrade_scripts/scripts/fleet/17.0.0.1/post-migration.py b/openupgrade_scripts/scripts/fleet/17.0.0.1/post-migration.py new file mode 100644 index 000000000000..61f3be04c819 --- /dev/null +++ b/openupgrade_scripts/scripts/fleet/17.0.0.1/post-migration.py @@ -0,0 +1,21 @@ +# Copyright 2026 Tecnativa - Sergio Teruel +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +from openupgradelib import openupgrade + + +def _compute_image_128(env): + """The vehicle models and the vehicles now inherit avatar.mixin, so their + image_128, related to the brand image, is now stored as an attachment, which is + not computed when the field is created. Compute it, the models first, as the + vehicle image is the one of its model. + """ + for model_name in ("fleet.vehicle.model", "fleet.vehicle"): + records = env[model_name].with_context(active_test=False).search([]) + env.add_to_compute(records._fields["image_128"], records) + records._recompute_recordset(["image_128"]) + + +@openupgrade.migrate() +def migrate(env, version): + _compute_image_128(env) diff --git a/openupgrade_scripts/scripts/fleet/17.0.0.1/upgrade_analysis_work.txt b/openupgrade_scripts/scripts/fleet/17.0.0.1/upgrade_analysis_work.txt index c5d5924acfac..6734e49c0dcf 100644 --- a/openupgrade_scripts/scripts/fleet/17.0.0.1/upgrade_analysis_work.txt +++ b/openupgrade_scripts/scripts/fleet/17.0.0.1/upgrade_analysis_work.txt @@ -4,6 +4,7 @@ fleet / fleet.vehicle / activity_user_id (many2one) : not re fleet / fleet.vehicle / activity_user_id (many2one) : now a function fleet / fleet.vehicle / image_1024 (binary) : NEW attachment: True, isrelated: related, stored fleet / fleet.vehicle / image_128 (binary) : is now stored +# DONE: post-migration: computed, as an attachment field is not computed when it becomes stored fleet / fleet.vehicle / image_1920 (binary) : NEW attachment: True fleet / fleet.vehicle / image_256 (binary) : NEW attachment: True, isrelated: related, stored fleet / fleet.vehicle / image_512 (binary) : NEW attachment: True, isrelated: related, stored @@ -20,6 +21,7 @@ fleet / fleet.vehicle.log.services / message_main_attachment_id (many2one # NOTHING TO DO fleet / fleet.vehicle.model / image_1024 (binary) : NEW attachment: True, isrelated: related, stored fleet / fleet.vehicle.model / image_128 (binary) : is now stored +# DONE: post-migration: computed, as an attachment field is not computed when it becomes stored fleet / fleet.vehicle.model / image_1920 (binary) : NEW attachment: True fleet / fleet.vehicle.model / image_256 (binary) : NEW attachment: True, isrelated: related, stored fleet / fleet.vehicle.model / image_512 (binary) : NEW attachment: True, isrelated: related, stored