summaryrefslogtreecommitdiff
path: root/addons/web/static/src/js/views
diff options
context:
space:
mode:
authorChristophe Simonis <chs@odoo.com>2016-04-25 14:43:44 +0200
committerChristophe Simonis <chs@odoo.com>2016-04-25 14:43:44 +0200
commitbb8f0f1fc3d0f5574938019ca69cc917a55e7962 (patch)
treea6662094bb9c307981461fdb9872195032f2da06 /addons/web/static/src/js/views
parent9ad6a9df6e5e5654bc98c4c655848404b4e946b2 (diff)
parent4d337f72ed59d1e5260fa2bb4f3d238e6ed11415 (diff)
[MERGE] forward port of branch saas-9 up to 4d337f7
Diffstat (limited to 'addons/web/static/src/js/views')
-rw-r--r--addons/web/static/src/js/views/form_view.js5
-rw-r--r--addons/web/static/src/js/views/form_widgets.js19
-rw-r--r--addons/web/static/src/js/views/list_view.js1
3 files changed, 18 insertions, 7 deletions
diff --git a/addons/web/static/src/js/views/form_view.js b/addons/web/static/src/js/views/form_view.js
index 864931a42c2..32b3e43af7d 100644
--- a/addons/web/static/src/js/views/form_view.js
+++ b/addons/web/static/src/js/views/form_view.js
@@ -836,7 +836,10 @@ var FormView = View.extend(common.FieldManagerMixin, {
def.reject();
},
};
- Dialog.confirm(this, message, options);
+ var dialog = Dialog.confirm(this, message, options);
+ dialog.$modal.on('hidden.bs.modal', function() {
+ def.reject();
+ });
return def;
},
/**
diff --git a/addons/web/static/src/js/views/form_widgets.js b/addons/web/static/src/js/views/form_widgets.js
index 2a2a36cdaba..f3a8bd76041 100644
--- a/addons/web/static/src/js/views/form_widgets.js
+++ b/addons/web/static/src/js/views/form_widgets.js
@@ -1536,13 +1536,20 @@ var FieldStatus = common.AbstractField.extend({
val = $li.data("id");
}
if (val != self.get('value')) {
- this.view.recursive_save().done(function() {
- var change = {};
- change[self.name] = val;
- self.view.dataset.write(self.view.datarecord.id, change).done(function() {
- self.view.reload();
+ if (!this.view.datarecord.id ||
+ this.view.datarecord.id.toString().match(data.BufferedDataSet.virtual_id_regex)) {
+ // don't save, only set value for not-yet-saved many2ones
+ self.set_value(val);
+ }
+ else {
+ this.view.recursive_save().done(function() {
+ var change = {};
+ change[self.name] = val;
+ self.view.dataset.write(self.view.datarecord.id, change).done(function() {
+ self.view.reload();
+ });
});
- });
+ }
}
},
});
diff --git a/addons/web/static/src/js/views/list_view.js b/addons/web/static/src/js/views/list_view.js
index b8d0c569609..0923776c951 100644
--- a/addons/web/static/src/js/views/list_view.js
+++ b/addons/web/static/src/js/views/list_view.js
@@ -1900,6 +1900,7 @@ var Column = Class.extend({
row_data[this.id].value, this, options.value_if_empty));
}
});
+ListView.Column = Column;
var MetaColumn = Column.extend({
meta: true,