[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
This commit is contained in:
niv-openerp 2011-09-01 16:14:48 +02:00
parent 9acba3027f
commit 5159a234e4
1 changed files with 16 additions and 3 deletions

View File

@ -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: