diff options
| author | Christophe Simonis <chs@odoo.com> | 2016-04-25 14:43:44 +0200 |
|---|---|---|
| committer | Christophe Simonis <chs@odoo.com> | 2016-04-25 14:43:44 +0200 |
| commit | bb8f0f1fc3d0f5574938019ca69cc917a55e7962 (patch) | |
| tree | a6662094bb9c307981461fdb9872195032f2da06 /addons/web/static/src/js/views | |
| parent | 9ad6a9df6e5e5654bc98c4c655848404b4e946b2 (diff) | |
| parent | 4d337f72ed59d1e5260fa2bb4f3d238e6ed11415 (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.js | 5 | ||||
| -rw-r--r-- | addons/web/static/src/js/views/form_widgets.js | 19 | ||||
| -rw-r--r-- | addons/web/static/src/js/views/list_view.js | 1 |
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, |
