summaryrefslogtreecommitdiff
path: root/addons/web/static/src/js/views/form_relational_widgets.js
diff options
context:
space:
mode:
authorChristophe Simonis <chs@odoo.com>2016-06-28 18:05:25 +0200
committerChristophe Simonis <chs@odoo.com>2016-06-28 18:05:25 +0200
commit93e6316029e237d41540bcf7ac594cc34b692d3a (patch)
treeedbb9fa9a400855d1089d8e612e98c83eb9d3904 /addons/web/static/src/js/views/form_relational_widgets.js
parent8eb2be4668b5677b82d581023161d31acd8abab1 (diff)
parent71530771ea42c5bf620115e38afeaa6112f720cf (diff)
[MERGE] forward port of branch saas-11 up to 7153077
Diffstat (limited to 'addons/web/static/src/js/views/form_relational_widgets.js')
-rw-r--r--addons/web/static/src/js/views/form_relational_widgets.js24
1 files changed, 16 insertions, 8 deletions
diff --git a/addons/web/static/src/js/views/form_relational_widgets.js b/addons/web/static/src/js/views/form_relational_widgets.js
index 624a2fa17a4..8e65677a8b3 100644
--- a/addons/web/static/src/js/views/form_relational_widgets.js
+++ b/addons/web/static/src/js/views/form_relational_widgets.js
@@ -320,7 +320,8 @@ var FieldMany2One = common.AbstractField.extend(common.CompletionFieldMixin, com
var dataset = new data.DataSetStatic(this, this.field.relation, self.build_context());
var def = this.alive(dataset.name_get([self.get("value")])).done(function(data) {
if (!data[0]) {
- self.do_warn(_t("Render"), _t("No value found for the field "+self.field.string+" for value "+self.get("value")));
+ self.do_warn(_t("Render"),
+ _.str.sprintf(_t("No value found for the field %s for value %s"), self.field.string, self.get("value")));
return;
}
self.display_value["" + self.get("value")] = data[0][1];
@@ -819,6 +820,7 @@ var FieldX2Many = AbstractManyField.extend({
self.is_loaded = self.is_loaded.then(function() {
var view = self.get_active_view();
if (view.type === "list") {
+ view.controller.page = 0;
return view.controller.reload_content();
} else if (view.controller.do_search) {
return view.controller.do_search(self.build_domain(), self.dataset.get_context(), []);
@@ -863,6 +865,9 @@ var FieldX2Many = AbstractManyField.extend({
}
return true;
},
+ is_false: function() {
+ return _(this.dataset.ids).isEmpty();
+ },
});
var X2ManyDataSet = data.BufferedDataSet.extend({
@@ -1259,13 +1264,16 @@ var FieldOne2Many = FieldX2Many.extend({
return this._super.apply(this, arguments);
},
commit_value: function() {
- var view = this.viewmanager.active_view;
- if(view.type === "list" && view.controller.editable()) {
- return this.mutex.def.then(function () {
- return view.controller.save_edition();
- });
- }
- return this.mutex.def;
+ var self = this;
+ return this.is_loaded.then(function() {
+ var view = self.viewmanager.active_view;
+ if(view.type === "list" && view.controller.editable()) {
+ return self.mutex.def.then(function () {
+ return view.controller.save_edition();
+ });
+ }
+ return self.mutex.def;
+ });
},
});