[MERGE] forward port of branch 7.0 up to revid 4162 launchpad_translations_on_behalf_...
[odoo/odoo.git] / addons / web / static / src / js / formats.js
index 3280b9f..2f6bbce 100644 (file)
@@ -1,5 +1,9 @@
 
-openerp.web.formats = function(instance) {
+(function() {
+
+var instance = openerp;
+openerp.web.formats = {};
+
 var _t = instance.web._t;
 
 /**
@@ -141,6 +145,7 @@ instance.web.format_value = function (value, descriptor, value_if_empty) {
                 return '';
             }
             console.warn('Field', descriptor, 'had an empty string as value, treating as false...');
+            return value_if_empty === undefined ?  '' : value_if_empty;
         case false:
         case undefined:
         case Infinity:
@@ -200,7 +205,7 @@ instance.web.format_value = function (value, descriptor, value_if_empty) {
         case 'selection': case 'statusbar':
             // Each choice is [value, label]
             if(_.isArray(value)) {
-                 value = value[0]
+                 value = value[0];
             }
             var result = _(descriptor.selection).detect(function (choice) {
                 return choice[0] === value;
@@ -220,9 +225,9 @@ instance.web.parse_value = function (value, descriptor, value_if_empty) {
         case "":
             return value_if_empty === undefined ?  false : value_if_empty;
     }
+    var tmp;
     switch (descriptor.widget || descriptor.type || (descriptor.field && descriptor.field.type)) {
         case 'integer':
-            var tmp;
             do {
                 tmp = value;
                 value = value.replace(instance.web._t.database.parameters.thousands_sep, "");
@@ -232,7 +237,7 @@ instance.web.parse_value = function (value, descriptor, value_if_empty) {
                 throw new Error(_.str.sprintf(_t("'%s' is not a correct integer"), value));
             return tmp;
         case 'float':
-            var tmp = Number(value);
+            tmp = Number(value);
             if (!isNaN(tmp))
                 return tmp;
 
@@ -345,4 +350,4 @@ instance.web.round_decimals = function(value, decimals){
     return instance.web.round_precision(value, Math.pow(10,-decimals));
 };
 
-};
+})();