erplibre/script/analyse
Mathieu Benoit c96f679858 [FIX] analyse: chercher la liste de prix, pas son identifiant externe
Deuxième constat faux du même outil, et la même cause : un indicateur
jamais confronté à la vraie condition.

Le contrôle cherchait l'xmlid `product.list0`. Or la réparation laisse
Odoo créer « Par défaut » SANS le poser. Mesuré sur la migration qui
vient de tourner : une liste de prix bien présente, quatre modèles de
rapprochement recréés, et mon rapport annonçait toujours « absente ». Il
aurait signalé de même la base d'un client ayant créé la sienne à la
main.

On cherche donc une LIGNE dans product_pricelist, protégée par
to_regclass pour le cas où le module n'est pas installé.

--- EN ---

Second false finding from the same tool, and the same cause: a proxy
never checked against the real condition.

It looked for the xmlid `product.list0`. But the repair lets Odoo create
« Par défaut » WITHOUT setting it. Measured on the migration that just
ran: a pricelist plainly there, four reconciliation models recreated —
and my report still said "missing". It would have flagged a customer
database whose pricelist was made by hand just the same.

So we look for a ROW in product_pricelist, guarded by to_regclass in case
the module is not installed.

Assisted-by: Claude Opus 5
2026-08-25 03:31:12 -04:00
..
shell [FIX] script: make the analysis and migration tools executable 2026-08-22 07:23:59 -04:00
analyse_custom_field.py [FIX] script: make the analysis and migration tools executable 2026-08-22 07:23:59 -04:00
analyse_diff_tui.py [FIX] script: make the analysis and migration tools executable 2026-08-22 07:23:59 -04:00
analyse_schema_size.py [FIX] script: make the analysis and migration tools executable 2026-08-22 07:23:59 -04:00
analyse_view_custom.py [ADD] analyse: diff each website copy against the view it shadows 2026-08-23 02:09:59 -04:00
anonymize.py [ADD] analyse: anonymiser une copie, sans IA et sans rien casser 2026-08-25 03:31:12 -04:00
check_filestore.py [ADD] filestore: purge once at the end, tidy at the restore, see the 30 MB 2026-08-23 02:09:59 -04:00
check_instance_state.py [ADD] analyse: l'état d'une instance, lu pour l'usage qu'on en fait 2026-08-25 03:28:39 -04:00
check_migration_quality.py [FIX] analyse: dire CE QUI est parti avec une pièce jointe 2026-08-25 03:28:39 -04:00
check_migration_quality_tui.py [ADD] migration quality: biggest losses first, and the full lists behind « d » 2026-08-22 07:23:59 -04:00
check_migration_residue.py [FIX] analyse: chercher la liste de prix, pas son identifiant externe 2026-08-25 03:31:12 -04:00
check_module_dependency.py [ADD] analyse: i, u et t — installés, en cours, applications 2026-08-23 04:03:18 -04:00
check_module_dependency_tui.py [ADD] analyse: i, u et t — installés, en cours, applications 2026-08-23 04:03:18 -04:00
check_module_package.py [ADD] analyse: offer to install the suggested modules that are ready 2026-08-23 02:09:59 -04:00
lib_analyse.py [FIX] script: make the analysis and migration tools executable 2026-08-22 07:23:59 -04:00
monitoring.py [ADD] analyse: anonymiser une copie, sans IA et sans rien casser 2026-08-25 03:31:12 -04:00
monitoring_tui.py [ADD] analyse: anonymiser une copie, sans IA et sans rien casser 2026-08-25 03:31:12 -04:00
openupgrade_analysis.py [ADD] migration quality: lay OpenUpgrade's declared changes over the real ones 2026-08-22 07:24:00 -04:00