diff --git a/sao/src/view/tree.js b/sao/src/view/tree.js index c7006e962d..d2a6d77e63 100644 --- a/sao/src/view/tree.js +++ b/sao/src/view/tree.js @@ -826,8 +826,9 @@ return; } var optional; - if (Object.prototype.hasOwnProperty.call( - tree_column_optional, name)) { + if ((column.attributes.optional) && + Object.prototype.hasOwnProperty.call( + tree_column_optional, name)) { optional = tree_column_optional[name]; } else { optional = Boolean(parseInt( diff --git a/tryton/tryton/gui/window/view_form/view/list.py b/tryton/tryton/gui/window/view_form/view/list.py index 6d51fb818f..fabd289465 100644 --- a/tryton/tryton/gui/window/view_form/view/list.py +++ b/tryton/tryton/gui/window/view_form/view/list.py @@ -1166,7 +1166,8 @@ class ViewTree(View): continue widget = self.get_column_widget(column) widget.set_editable() - if column.name in tree_column_optional: + if ('optional' in widget.attrs + and column.name in tree_column_optional): optional = tree_column_optional[column.name] else: optional = bool(int(widget.attrs.get('optional', '0')))