summaryrefslogtreecommitdiff
path: root/addons/web/static/src/js
diff options
context:
space:
mode:
authorOlivier Dony <odo@openerp.com>2016-04-14 10:39:09 +0200
committerOlivier Dony <odo@openerp.com>2016-04-14 10:39:09 +0200
commitff0fd50cdfb5cca5e2373cc347f603ebb3963923 (patch)
treef1ced2125827ff254bb9b621370d707c6d8256a3 /addons/web/static/src/js
parent6668794a8e0a4f672988a2895cd3ecd5edab2979 (diff)
parent2d4deca055aa1a96417257e19f60ec95bcdf17be (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.js19
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();
+ });
});
- });
+ }
}
},
});