diff options
| author | Christophe Simonis <chs@odoo.com> | 2017-10-27 14:09:20 +0200 |
|---|---|---|
| committer | Christophe Simonis <chs@odoo.com> | 2017-10-27 14:09:20 +0200 |
| commit | e918271f7600d9f77dc6631e48814f0daf951ad8 (patch) | |
| tree | 295629178de5fe3a1cf1dcb8d780661d82df1877 /addons/web/static/src/js/services/data_manager.js | |
| parent | 2f0435f08112251abce2591f44e748896c030420 (diff) | |
| parent | 8fdac4b6b2f2fccafc95ea65b976c7e4028d9832 (diff) | |
[MERGE] forward port branch saas-16 up to 8fdac4b6b2f
Diffstat (limited to 'addons/web/static/src/js/services/data_manager.js')
| -rw-r--r-- | addons/web/static/src/js/services/data_manager.js | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/addons/web/static/src/js/services/data_manager.js b/addons/web/static/src/js/services/data_manager.js index 911e1c5582f..32d526e160d 100644 --- a/addons/web/static/src/js/services/data_manager.js +++ b/addons/web/static/src/js/services/data_manager.js @@ -388,6 +388,11 @@ return core.Class.extend({ } } } + + if (attrs.Widget.prototype.fieldDependencies) { + attrs.fieldDependencies = attrs.Widget.prototype.fieldDependencies; + } + return attrs; }, /** @@ -414,6 +419,15 @@ return core.Class.extend({ if (node.tag === 'field') { fieldsInfo[node.attrs.name] = self._processField(viewType, fields[node.attrs.name], node.attrs ? _.clone(node.attrs) : {}); + + if (fieldsInfo[node.attrs.name].fieldDependencies) { + var deps = fieldsInfo[node.attrs.name].fieldDependencies; + for (var dependency_name in deps) { + if (!(dependency_name in fieldsInfo)) { + fieldsInfo[dependency_name] = {'name': dependency_name, 'type': deps[dependency_name].type}; + } + } + } return false; } return node.tag !== 'arch'; |
