diff options
| author | niv-openerp <nicolas.vanhoren@openerp.com> | 2011-09-01 16:14:48 +0200 |
|---|---|---|
| committer | niv-openerp <nicolas.vanhoren@openerp.com> | 2011-09-01 16:14:48 +0200 |
| commit | 5159a234e4c6157ca701865caf7aaa72306cf6db (patch) | |
| tree | 0648691f96e1f0eba6abdfce3f405ed6d9d65284 /addons/base/static/src | |
| parent | 9acba3027f605a871df18138148ca3f5d4e4120f (diff) | |
[fix] fixed problem in format function when using a type of date widget different than the type of field
bzr revid: nicolas.vanhoren@openerp.com-20110901141448-f02nv1qd8zhxzant
Diffstat (limited to 'addons/base/static/src')
| -rw-r--r-- | addons/base/static/src/js/formats.js | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/addons/base/static/src/js/formats.js b/addons/base/static/src/js/formats.js index bf54290bf45..0f79ca84bf4 100644 --- a/addons/base/static/src/js/formats.js +++ b/addons/base/static/src/js/formats.js @@ -45,7 +45,7 @@ openerp.base.format_value = function (value, descriptor, value_if_empty) { return value[1]; case 'datetime': if (typeof(value) == "string") - value = openerp.base.str_to_datetime(value); + value = approx_str_to_date(value, descriptor.type) || openerp.base.str_to_datetime(value); try { return value.toString(_.sprintf("%s %s", Date.CultureInfo.formatPatterns.shortDate, Date.CultureInfo.formatPatterns.longTime)); @@ -55,7 +55,7 @@ openerp.base.format_value = function (value, descriptor, value_if_empty) { return value; case 'date': if (typeof(value) == "string") - value = openerp.base.str_to_date(value); + value = approx_str_to_date(value, descriptor.type) || openerp.base.str_to_date(value); try { return value.toString(Date.CultureInfo.formatPatterns.shortDate); } catch (e) { @@ -63,7 +63,7 @@ openerp.base.format_value = function (value, descriptor, value_if_empty) { } case 'time': if (typeof(value) == "string") - value = openerp.base.str_to_time(value); + value = approx_str_to_date(value, descriptor.type) || openerp.base.str_to_time(value); try { return value.toString(Date.CultureInfo.formatPatterns.longTime); } catch (e) { @@ -74,6 +74,19 @@ openerp.base.format_value = function (value, descriptor, value_if_empty) { } }; +var approx_str_to_date = function(value, type) { + switch(type) { + case 'datetime': + return openerp.base.str_to_datetime(value); + case 'date': + return openerp.base.str_to_date(value); + case 'time': + return openerp.base.str_to_time(value); + default: + return null; + } +} + openerp.base.parse_value = function (value, descriptor, value_if_empty) { switch (value) { case false: |
