summaryrefslogtreecommitdiff
path: root/addons/web/static/src/js/services/data_manager.js
diff options
context:
space:
mode:
authorChristophe Simonis <chs@odoo.com>2017-10-27 14:09:20 +0200
committerChristophe Simonis <chs@odoo.com>2017-10-27 14:09:20 +0200
commite918271f7600d9f77dc6631e48814f0daf951ad8 (patch)
tree295629178de5fe3a1cf1dcb8d780661d82df1877 /addons/web/static/src/js/services/data_manager.js
parent2f0435f08112251abce2591f44e748896c030420 (diff)
parent8fdac4b6b2f2fccafc95ea65b976c7e4028d9832 (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.js14
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';