diff options
Diffstat (limited to 'addons/web/static/src/js/fields/relational_fields.js')
| -rw-r--r-- | addons/web/static/src/js/fields/relational_fields.js | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/addons/web/static/src/js/fields/relational_fields.js b/addons/web/static/src/js/fields/relational_fields.js index 936a27c739b..b8eb106caab 100644 --- a/addons/web/static/src/js/fields/relational_fields.js +++ b/addons/web/static/src/js/fields/relational_fields.js @@ -2166,6 +2166,19 @@ var FieldSelection = AbstractField.extend({ isSet: function () { return this.value !== false; }, + /** + * Listen to modifiers updates to hide/show the falsy value in the dropdown + * according to the required modifier. + * + * @override + */ + updateModifiersValue: function () { + this._super.apply(this, arguments); + if (!this.attrs.modifiersValue.invisible && this.mode !== 'readonly') { + this._setValues(); + this._renderEdit(); + } + }, //-------------------------------------------------------------------------- // Private @@ -2219,7 +2232,9 @@ var FieldSelection = AbstractField.extend({ return v[0] === false && v[1] === ''; }); } - this.values = [[false, this.attrs.placeholder || '']].concat(this.values); + if (!this.attrs.modifiersValue || !this.attrs.modifiersValue.required) { + this.values = [[false, this.attrs.placeholder || '']].concat(this.values); + } }, //-------------------------------------------------------------------------- |
