-
-
Notifications
You must be signed in to change notification settings - Fork 784
Open
Description
Steps to reproduce the problem:
- Have an old view with a tree with
colorsattribute. - Remove such view in v14 code.
- Perform the migration to v14.
As a result, the migration process is aborted with this error:
Details
Traceback (most recent call last):
File "/opt/odoo/custom/src/odoo/odoo/tools/convert.py", line 677, in _tag_root
f(rec)
File "/opt/odoo/custom/src/odoo/odoo/tools/convert.py", line 580, in _tag_record
record = model._load_records([data], self.mode == 'update')
File "/opt/odoo/custom/src/odoo/odoo/models.py", line 4209, in _load_records
data['record']._load_records_write(data['values'])
File "/opt/odoo/custom/src/odoo/odoo/addons/base/models/ir_ui_view.py", line 1841, in _load_records_write
super(View, self)._load_records_write(values)
File "/opt/odoo/custom/src/odoo/odoo/models.py", line 4146, in _load_records_write
self.write(values)
File "/opt/odoo/auto/addons/website/models/theme_models.py", line 267, in write
res = super(IrUiView, other_views).write(vals)
File "/opt/odoo/auto/addons/website/models/ir_ui_view.py", line 68, in write
return super(View, self).write(vals)
File "/opt/odoo/custom/src/odoo/odoo/addons/base/models/ir_ui_view.py", line 500, in write
res = super(View, self).write(self._compute_defaults(vals))
File "/opt/odoo/custom/src/odoo/odoo/models.py", line 3704, in write
fields[0].determine_inverse(real_recs)
File "/opt/odoo/custom/src/odoo/odoo/fields.py", line 1187, in determine_inverse
getattr(records, self.inverse)()
File "/opt/odoo/custom/src/odoo/odoo/addons/base/models/ir_ui_view.py", line 300, in _inverse_arch
view.write(data)
File "/opt/odoo/auto/addons/website/models/theme_models.py", line 267, in write
res = super(IrUiView, other_views).write(vals)
File "/opt/odoo/auto/addons/website/models/ir_ui_view.py", line 68, in write
return super(View, self).write(vals)
File "/opt/odoo/custom/src/odoo/odoo/addons/base/models/ir_ui_view.py", line 500, in write
res = super(View, self).write(self._compute_defaults(vals))
File "/opt/odoo/custom/src/odoo/odoo/models.py", line 3694, in write
real_recs._validate_fields(vals, inverse_fields)
File "/opt/odoo/custom/src/odoo/odoo/models.py", line 1266, in _validate_fields
check(self)
File "/opt/odoo/auto/addons/openupgrade_framework/odoo_patch/odoo/addons/base/models/ir_ui_view.py", line 17, in _check_xml
return View._check_xml._original_method(self)
File "/opt/odoo/custom/src/odoo/odoo/addons/base/models/ir_ui_view.py", line 401, in _check_xml
raise ValidationError(_(
odoo.exceptions.ValidationError: Vista no disponible ... (...) definición en ....xml
As the validation is performed before the cleaning of the views, the check is performed no matter if it's going to be removed later. Specifically, this is the exception risen:
Current workaround:
- Remove by hand the view in DB (
DELETE FROM ir_ui_view WHERE id=...) before performing the upgrade.