Ensure all values are set before resolving default_get
issue5681 review26471002
This commit is contained in:
1 parent
0824de014a
commit
9b25b0d347
1 file changed
+9
-8
+9
-8
@@ -775,6 +775,14 @@
|
||||
default_get: function() {
|
||||
var dfd = jQuery.Deferred();
|
||||
var promises = [];
|
||||
// Ensure promisses is filled before default_get is resolved
|
||||
for (var fname in this.model.fields) {
|
||||
var field = this.model.fields[fname];
|
||||
if (field.description.autocomplete &&
|
||||
field.description.autocomplete.length > 0) {
|
||||
promises.push(this.do_autocomplete(fname));
|
||||
}
|
||||
}
|
||||
if (!jQuery.isEmptyObject(this.model.fields)) {
|
||||
var prm = this.model.execute('default_get',
|
||||
[Object.keys(this.model.fields)], this.get_context());
|
||||
@@ -793,19 +801,12 @@
|
||||
this.group.parent.id;
|
||||
}
|
||||
}
|
||||
this.set_default(values);
|
||||
promises.push(this.set_default(values));
|
||||
jQuery.when.apply(jQuery, promises).then(function() {
|
||||
dfd.resolve(values);
|
||||
});
|
||||
}.bind(this));
|
||||
}
|
||||
for (var fname in this.model.fields) {
|
||||
var field = this.model.fields[fname];
|
||||
if (field.description.autocomplete &&
|
||||
field.description.autocomplete.length > 0) {
|
||||
promises.push(this.do_autocomplete(fname));
|
||||
}
|
||||
}
|
||||
return dfd;
|
||||
},
|
||||
set_default: function(values, validate) {
|
||||
|
||||
Reference in new issue
Block a user