hi guys, i want to override/custom the function of formatFloat(),
i want to not show the decimal default in each record(i mean remove the decimal if the last value is 0, ignore the digit to be shown), can anyone help me?
i just trying to render my js and work fine it can show the log but failed when rendering the formatFloat() function and i checked the log this is what i got = Failed modules: ["warpin_decimal_precision.field_utils"] :(
this is my code:
my template.xml:
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<template id="assets_backend" name="Decimal Precision Backend Assets" inherit_id="web.assets_backend">
<xpath expr="." position="inside">
<script type="application/javascript" src="/warpin_decimal_precision/static/src/js/field_utils.js"/>
</xpath>
</template>
</odoo>
my js file:
odoo.define('warpin_decimal_precision.field_utils', function (require) {
"use strict";
var FieldUtils = require('web.field_utils');
var core = require('web.core');
var dom = require('web.dom');
var session = require('web.session');
var time = require('web.time');
var utils = require('web.utils');
var _t = core._t;
var QWeb = core.qweb;
if (FieldUtils) {
console.log(FieldUtils, 'test print')
}
console.log('miawwwwwwww')
//override method formatFloat
FieldUtils.include({
formatFloat: function (value, field, options) {
console.log(value, 'MIAAAAAAAAAAAAAAAAAAAAAAAAAAWWW')
if (value === false) {
return "";
}
var l10n = _t.database.parameters; var precision;
if (options && options.digits) {
precision = options.digits[1];
} else if (field && field.digits) {
precision = field.digits[1];
} else {
precision = 2;
}
var formatted = _.str.sprintf('%.' + precision + 'f', value || 0).split('.'); -> i want to change this to become value.to_string();
formatted[0] = utils.insert_thousand_seps(formatted[0]);
return formatted.join(l10n.decimal_point);
},
});
return FieldUtils;
});
so later all of my float field value in my odoo become like e. g.
17.90 -> 17.9,
1.553000 -> 1.553
thanks in advance!!!!!!!! :)