[IMP] some naming in openerp.web.parse_value, throw actual errors

bzr revid: xmo@openerp.com-20111110132940-0jt103hhlhh5jzej
This commit is contained in:
Xavier Morel 2011-11-10 14:29:40 +01:00
parent 35c3aabf0b
commit f05f913016
1 changed files with 30 additions and 30 deletions

View File

@ -93,7 +93,7 @@ openerp.web.parse_value = function (value, descriptor, value_if_empty) {
} while(tmp !== value); } while(tmp !== value);
tmp = Number(value); tmp = Number(value);
if (isNaN(tmp)) if (isNaN(tmp))
throw value + " is not a correct integer"; throw new Error(value + " is not a correct integer");
return tmp; return tmp;
case 'float': case 'float':
var tmp = Number(value); var tmp = Number(value);
@ -107,42 +107,42 @@ openerp.web.parse_value = function (value, descriptor, value_if_empty) {
} while(tmp !== tmp2); } while(tmp !== tmp2);
tmp = Number(tmp); tmp = Number(tmp);
if (isNaN(tmp)) if (isNaN(tmp))
throw value + " is not a correct float"; throw new Error(value + " is not a correct float");
return tmp; return tmp;
case 'float_time': case 'float_time':
var tmp = value.split(":"); var float_time_pair = value.split(":");
if (tmp.length != 2) if (float_time_pair.length != 2)
throw value + " is not a correct float_time"; throw new Error(value + " is not a correct float_time");
var tmp1 = openerp.web.parse_value(tmp[0], {type: "integer"}); var hours = openerp.web.parse_value(float_time_pair[0], {type: "integer"});
var tmp2 = openerp.web.parse_value(tmp[1], {type: "integer"}); var minutes = openerp.web.parse_value(float_time_pair[1], {type: "integer"});
return tmp1 + (tmp2 / 60); return hours + (minutes / 60);
case 'progressbar': case 'progressbar':
return openerp.web.parse_value(value, {type: "float"}); return openerp.web.parse_value(value, {type: "float"});
case 'datetime': case 'datetime':
var tmp = Date.parseExact(value, _.sprintf("%s %s", Date.CultureInfo.formatPatterns.shortDate, var datetime = Date.parseExact(value, _.sprintf("%s %s", Date.CultureInfo.formatPatterns.shortDate,
Date.CultureInfo.formatPatterns.longTime)); Date.CultureInfo.formatPatterns.longTime));
if (tmp !== null) if (datetime !== null)
return openerp.web.datetime_to_str(tmp); return openerp.web.datetime_to_str(datetime);
tmp = Date.parse(value); datetime = Date.parse(value);
if (tmp !== null) if (datetime !== null)
return openerp.web.datetime_to_str(tmp); return openerp.web.datetime_to_str(datetime);
throw value + " is not a valid datetime"; throw new Error(value + " is not a valid datetime");
case 'date': case 'date':
var tmp = Date.parseExact(value, Date.CultureInfo.formatPatterns.shortDate); var date = Date.parseExact(value, Date.CultureInfo.formatPatterns.shortDate);
if (tmp !== null) if (date !== null)
return openerp.web.date_to_str(tmp); return openerp.web.date_to_str(date);
tmp = Date.parse(value); date = Date.parse(value);
if (tmp !== null) if (date !== null)
return openerp.web.date_to_str(tmp); return openerp.web.date_to_str(date);
throw value + " is not a valid date"; throw new Error(value + " is not a valid date");
case 'time': case 'time':
var tmp = Date.parseExact(value, Date.CultureInfo.formatPatterns.longTime); var time = Date.parseExact(value, Date.CultureInfo.formatPatterns.longTime);
if (tmp !== null) if (time !== null)
return openerp.web.time_to_str(tmp); return openerp.web.time_to_str(time);
tmp = Date.parse(value); time = Date.parse(value);
if (tmp !== null) if (time !== null)
return openerp.web.time_to_str(tmp); return openerp.web.time_to_str(time);
throw value + " is not a valid time"; throw new Error(value + " is not a valid time");
} }
return value; return value;
}; };