From 761a09c57beb3bf3c96fe3c114681dcc6e018ba3 Mon Sep 17 00:00:00 2001 From: Holger Brunn Date: Thu, 14 Feb 2019 13:09:14 +0100 Subject: [PATCH] [IMP] don't break on properties pointing to unknown models --- database_cleanup/models/purge_properties.py | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/database_cleanup/models/purge_properties.py b/database_cleanup/models/purge_properties.py index 7793c9bc0..61d7dd9f7 100644 --- a/database_cleanup/models/purge_properties.py +++ b/database_cleanup/models/purge_properties.py @@ -5,6 +5,7 @@ from odoo import api, models, fields REASON_DUPLICATE = 1 REASON_DEFAULT = 2 REASON_DEFAULT_FALSE = 3 +REASON_UNKNOWN_MODEL = 4 class CleanupPurgeLineProperty(models.TransientModel): @@ -19,6 +20,7 @@ class CleanupPurgeLineProperty(models.TransientModel): (REASON_DUPLICATE, 'Duplicated property'), (REASON_DEFAULT, 'Same value as default'), (REASON_DEFAULT_FALSE, 'Empty default property'), + (REASON_UNKNOWN_MODEL, 'Unknown model'), ]) @api.multi @@ -44,10 +46,22 @@ class CleanupPurgeWizardProperty(models.TransientModel): ]) handled_field_ids = [] for prop in default_properties: - if not prop.get_by_record(): + value = None + try: + value = prop.get_by_record() + except KeyError: result.append({ 'name': '%s@%s: %s' % ( - prop.name, prop.res_id, prop.get_by_record() + prop.name, prop.res_id, value, + ), + 'property_id': prop.id, + 'reason': REASON_UNKNOWN_MODEL, + }) + continue + if not value: + result.append({ + 'name': '%s@%s: %s' % ( + prop.name, prop.res_id, value, ), 'property_id': prop.id, 'reason': REASON_DEFAULT_FALSE,