summaryrefslogtreecommitdiff
path: root/addons/web/static/src/js/_deprecated
diff options
context:
space:
mode:
authorChristophe Matthieu <chm@odoo.com>2017-02-23 10:14:57 +0100
committerAaron Bohy <aab@odoo.com>2017-04-11 19:44:38 +0200
commit173896b62d2c2d3c4acc6be75c3396b29887e4fb (patch)
tree09ea86ccb845313e07adbd21c01e7cad1853c85f /addons/web/static/src/js/_deprecated
parentc9f747dad646b48d3dc9fed799df046180526531 (diff)
[REF] web: remove format.js
use 'web.field_utils' instead of 'web.formats'
Diffstat (limited to 'addons/web/static/src/js/_deprecated')
-rw-r--r--addons/web/static/src/js/_deprecated/formats.js204
1 files changed, 0 insertions, 204 deletions
diff --git a/addons/web/static/src/js/_deprecated/formats.js b/addons/web/static/src/js/_deprecated/formats.js
deleted file mode 100644
index 479fa1082cd..00000000000
--- a/addons/web/static/src/js/_deprecated/formats.js
+++ /dev/null
@@ -1,204 +0,0 @@
-odoo.define('web.formats', function (require) {
-"use strict";
-
-var translation = require('web.translation');
-var time = require('web.time');
-var utils = require('web.utils');
-
-var _t = translation._t;
-
-/**
- * Formats a single atomic value based on a field descriptor
- *
- * @param {Object} value read from OpenERP
- * @param {Object} descriptor union of orm field and view field
- * @param {Object} [descriptor.widget] widget to use to display the value
- * @param {Object} descriptor.type fallback if no widget is provided, or if the provided widget is unknown
- * @param {Object} [descriptor.digits] used for the formatting of floats
- * @param {String} [value_if_empty=''] returned if the ``value`` argument is considered empty
- */
-function format_value (value, descriptor, value_if_empty) {
- var l10n = _t.database.parameters;
- var date_format = time.strftime_to_moment_format(l10n.date_format);
- var time_format = time.strftime_to_moment_format(l10n.time_format);
- // If NaN value, display as with a `false` (empty cell)
- if (typeof value === 'number' && isNaN(value)) {
- value = false;
- }
- //noinspection FallthroughInSwitchStatementJS
- switch (value) {
- case '':
- if (descriptor.type === 'char' || descriptor.type === 'text') {
- 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:
- case -Infinity:
- return value_if_empty === undefined ? '' : value_if_empty;
- }
- switch (descriptor.widget || descriptor.type || (descriptor.field && descriptor.field.type)) {
- case 'id':
- return value.toString();
- case 'integer':
- return utils.insert_thousand_seps(
- _.str.sprintf('%d', value));
- case 'monetary':
- case 'float':
- var digits = descriptor.digits ? descriptor.digits : [69,2];
- digits = typeof digits === "string" ? py.eval(digits) : digits;
- var precision = digits[1];
- var formatted = _.str.sprintf('%.' + precision + 'f', value).split('.');
- formatted[0] = utils.insert_thousand_seps(formatted[0]);
- return formatted.join(l10n.decimal_point);
- case 'float_time':
- var pattern = '%02d:%02d';
- if (value < 0) {
- value = Math.abs(value);
- pattern = '-' + pattern;
- }
- var hour = Math.floor(value);
- var min = Math.round((value % 1) * 60);
- if (min == 60){
- min = 0;
- hour = hour + 1;
- }
- return _.str.sprintf(pattern, hour, min);
- case 'many2one':
- // name_get value format
- return value[1] ? value[1].split("\n")[0] : value[1];
- case 'one2many':
- case 'many2many':
- if (typeof value === 'string') {
- return value;
- }
- return _.str.sprintf(_t("(%d records)"), value.length);
- case 'datetime':
- if (typeof(value) == "string")
- value = moment(time.auto_str_to_date(value));
- else {
- value = moment(value);
- }
- return value.format(date_format + ' ' + time_format);
- case 'date':
- if (typeof(value) == "string")
- value = moment(time.auto_str_to_date(value));
- else {
- value = moment(value);
- }
- return value.format(date_format);
- case 'time':
- if (typeof(value) == "string")
- value = moment(time.auto_str_to_date(value));
- else {
- value = moment(value);
- }
- return value.format(time_format);
- case 'selection': case 'statusbar':
- // Each choice is [value, label]
- if(_.isArray(value)) {
- return value[1];
- }
- var result = _(descriptor.selection).detect(function (choice) {
- return choice[0] === value;
- });
- if (result) { return result[1]; }
- return;
- default:
- return value;
- }
-}
-
-function parse_value (value, descriptor, value_if_empty) {
- var date_pattern = time.strftime_to_moment_format(_t.database.parameters.date_format),
- time_pattern = time.strftime_to_moment_format(_t.database.parameters.time_format);
- var date_pattern_wo_zero = date_pattern.replace('MM','M').replace('DD','D'),
- time_pattern_wo_zero = time_pattern.replace('HH','H').replace('mm','m').replace('ss','s');
- switch (value) {
- case false:
- case "":
- return value_if_empty === undefined ? false : value_if_empty;
- }
- var tmp;
- switch (descriptor.widget || descriptor.type || (descriptor.field && descriptor.field.type)) {
- case 'integer':
- do {
- tmp = value;
- value = value.replace(_t.database.parameters.thousands_sep, "");
- } while(tmp !== value);
- tmp = Number(value);
- // do not accept not numbers or float values
- if (isNaN(tmp) || tmp % 1)
- throw new Error(_.str.sprintf(_t("'%s' is not a correct integer"), value));
- return tmp;
- case 'monetary':
- case 'float':
- var tmp2 = value;
- do {
- tmp = tmp2;
- tmp2 = tmp.replace(_t.database.parameters.thousands_sep, "");
- } while(tmp !== tmp2);
- var reformatted_value = tmp.replace(_t.database.parameters.decimal_point, ".");
- var parsed = Number(reformatted_value);
- if (isNaN(parsed))
- throw new Error(_.str.sprintf(_t("'%s' is not a correct float"), value));
- return parsed;
- case 'float_time':
- var factor = 1;
- if (value[0] === '-') {
- value = value.slice(1);
- factor = -1;
- }
- var float_time_pair = value.split(":");
- if (float_time_pair.length != 2)
- return factor * parse_value(value, {type: "float"});
- var hours = parse_value(float_time_pair[0], {type: "integer"});
- var minutes = parse_value(float_time_pair[1], {type: "integer"});
- return factor * (hours + (minutes / 60));
- case 'progressbar':
- return parse_value(value, {type: "float"});
- case 'datetime':
- var datetime = moment(value, [date_pattern + ' ' + time_pattern, date_pattern_wo_zero + ' ' + time_pattern_wo_zero, moment.ISO_8601], true);
- if (datetime.isValid() && datetime.year() >= 1900)
- return time.datetime_to_str(datetime.toDate());
- datetime = moment(value, [date_pattern + ' ' + time_pattern, date_pattern_wo_zero + ' ' + time_pattern_wo_zero, moment.ISO_8601]);
- if (datetime.isValid()) {
- if (datetime.year() === 0) {
- datetime.year(moment.utc().year());
- }
- if (datetime.year() >= 1900) {
- return time.datetime_to_str(datetime.toDate());
- }
- }
- throw new Error(_.str.sprintf(_t("'%s' is not a correct datetime"), value));
- case 'date':
- var date = moment(value, [date_pattern, date_pattern_wo_zero, moment.ISO_8601], true);
- if (date.isValid() && date.year() >= 1900)
- return time.date_to_str(date.toDate());
- date = moment(value, [date_pattern, date_pattern_wo_zero, moment.ISO_8601]);
- if (date.isValid()) {
- if (date.year() === 0) {
- date.year(moment.utc().year());
- }
- if (date.year() >= 1900) {
- return time.date_to_str(date.toDate());
- }
- }
- throw new Error(_.str.sprintf(_t("'%s' is not a correct date"), value));
- case 'time':
- var _time = moment(value, [time_pattern, time_pattern_wo_zero, moment.ISO_8601], true);
- if (_time.isValid())
- return time.time_to_str(_time.toDate());
- throw new Error(_.str.sprintf(_t("'%s' is not a correct time"), value));
- }
- return value;
-}
-
-return {
- format_value: format_value,
- parse_value: parse_value,
-};
-
-});