summaryrefslogtreecommitdiff
path: root/addons/base/static/src
diff options
context:
space:
mode:
authorniv-openerp <nicolas.vanhoren@openerp.com>2011-09-01 16:14:48 +0200
committerniv-openerp <nicolas.vanhoren@openerp.com>2011-09-01 16:14:48 +0200
commit5159a234e4c6157ca701865caf7aaa72306cf6db (patch)
tree0648691f96e1f0eba6abdfce3f405ed6d9d65284 /addons/base/static/src
parent9acba3027f605a871df18138148ca3f5d4e4120f (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.js19
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: