diff options
| author | Olivier Dony <odo@openerp.com> | 2016-04-14 10:39:09 +0200 |
|---|---|---|
| committer | Olivier Dony <odo@openerp.com> | 2016-04-14 10:39:09 +0200 |
| commit | ff0fd50cdfb5cca5e2373cc347f603ebb3963923 (patch) | |
| tree | f1ced2125827ff254bb9b621370d707c6d8256a3 /addons/web/static/src/js | |
| parent | 6668794a8e0a4f672988a2895cd3ecd5edab2979 (diff) | |
| parent | 2d4deca055aa1a96417257e19f60ec95bcdf17be (diff) | |
[MERGE] Forward-port saas-6 up to 2d4deca055aa1a96417257e19f60ec95bcdf17be
- Fix for status widget (b25c054c93e7e5123fecf3e0e1165238c423e705) moved
to appropriate file: addons/web/static/src/js/views/form_widgets.js
even though the problem is less severe in 9.0 (no crash but triggers
form save, which is unnecessary)
- Fix for website_event_sale ignored (880e951f344cc1a4f96040b5e9e7d07936ac0d81)
because the problem does not exist anymore in 9.0, probably due to
refactoring 66871ee65b8f792ba4dafa51977577f734f2f7c1
Diffstat (limited to 'addons/web/static/src/js')
| -rw-r--r-- | addons/web/static/src/js/views/form_widgets.js | 19 |
1 files changed, 13 insertions, 6 deletions
diff --git a/addons/web/static/src/js/views/form_widgets.js b/addons/web/static/src/js/views/form_widgets.js index 7f5e6c54da4..1214f6e2ce3 100644 --- a/addons/web/static/src/js/views/form_widgets.js +++ b/addons/web/static/src/js/views/form_widgets.js @@ -1530,13 +1530,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(); + }); }); - }); + } } }, }); |
