From c4bbcd357344827f8e35122ac9eab81feeb0b685 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Mon, 24 Mar 2014 15:48:11 +0100 Subject: [PATCH] Don't let default value override existing value issue3782 review4591002 --- src/model.js | 23 ++++++++++------------- 1 file changed, 10 insertions(+), 13 deletions(-) diff --git a/src/model.js b/src/model.js index d8cd89dd1a..5760caa598 100644 --- a/src/model.js +++ b/src/model.js @@ -942,7 +942,11 @@ record._values[this.name] = value; }, get: function(record) { - return record._values[this.name] || this._default; + var value = record._values[this.name]; + if (value === undefined) { + value = this._default; + } + return value; }, set_client: function(record, value, force_change) { var previous_value = this.get(record); @@ -1149,7 +1153,10 @@ }); Sao.field.Char = Sao.class_(Sao.field.Field, { - _default: '' + _default: '', + get: function(record) { + return Sao.field.Char._super.get(record) || this._default; + } }); Sao.field.Selection = Sao.class_(Sao.field.Field, { @@ -1236,13 +1243,6 @@ Sao.field.Number = Sao.class_(Sao.field.Field, { _default: null, - get: function(record) { - if (record._values[this.name] === undefined) { - return this._default; - } else { - return record._values[this.name]; - } - }, digits: function(record) { var digits = []; var default_ = [16, 2]; @@ -1355,10 +1355,7 @@ Sao.field.Many2One = Sao.class_(Sao.field.Field, { _default: null, get: function(record) { - var value = record._values[this.name]; - if (value === undefined) { - value = this._default; - } + var value = Sao.field.Many2One._super.get.call(this, record); // TODO force parent return value; },