Odoo Help


make widget="float_time" in HH:mm:ss format in V9

on 12/4/15, 8:43 PM 2,176 views

I want to show float_time widget in hh:mm:ss format. Today i have found V8 module which makes such changes, but what module dont work in V9. as i see where are some differences between v8 and v9 in the original formats.js file. 

odoo v8

(function() {
instance.web.format_value = function (value, descriptor, value_if_empty) {

odoo v9

odoo.define('web.formats', function (require) {
"use strict";
function format_value (value, descriptor, value_if_empty) {

so i think because of these differences old module inheritance dont work properly, maybe someone knows how to correctly inherit js files in odoo V9 ?

in old module it was made like this

openerp.module_name = function(instance){

original_format_value = instance.web.format_value;
instance.web.format_value = function (value, descriptor, value_if_empty) {
switch (descriptor.widget || descriptor.type || (descriptor.field && descriptor.field.type)) {

thanks in advace!


Axel Mendoza

--Axel Mendoza--
| 7 8 8
Camaguey, Cuba
--Axel Mendoza--

DevOps - Full stack - Software Architect - Developer - Technology Integrator

I could help you to develop anything and solve complex problems based on technologies, integrations and tricky stuffs mostly in Python with OpenERP/Odoo, Zato, Django and many others frameworks programming languages and technologies.

I offers consulting services to anyone with an unanswered questions or needs for customizations. Think about it, maybe it's better to have an expert to solve your issues and projects than having a full-time employee trying to understand what to do and how

Reach me at aekroft@gmail.com

Axel Mendoza
On 12/4/15, 10:04 PM

Hi @silvinas

You could do it like using the compatibility layer like this:

openerp.module_name = function(instance){

original_format_value = instance.web.formats.format_value;
instance.web.formats.format_value = function (value, descriptor, value_if_empty) {
switch (descriptor.widget || descriptor.type || (descriptor.field && descriptor.field.type)) {

or using the new v9 js api:

odoo.define('openerp.module_name', function (require) {
"use strict";

var formats = require('web.formats'); 

original_format_value = formats.format_value;

formats.format_value = function (value, descriptor, value_if_empty) {
switch (descriptor.widget || descriptor.type || (descriptor.field && descriptor.field.type)) {

thank you @Axel Mendoza, now i have some error, but this is ok, because its means my scrip is in the game now :) in developer tools i can see that error: Some modules could not be started Failed modules: ["openerp.my_module"] and highlights line: var missing=odoo.__DEBUG__.get_missing_jobs();var failed=odoo.__DEBUG__.get_failed_jobs();var unloaded=_.filter(debug_jobs,function(job){return job.missing;});var log=[(_.isEmpty(failed)?(_.isEmpty(unloaded)?'info':'warning'):'error')+':','Some modules could not be started'];if(missing.length)log.push('\nMissing dependencies: ',missing);if(!_.isEmpty(failed))log.push('\nFailed modules: ',_.pluck(failed,'name'));if(!_.isEmpty(rejected))log.push('\nRejected modules: ',rejected);if(!_.isEmpty(rejected_linked))log.push('\nRejected linked modules:',rejected_linked);if(!_.isEmpty(unloaded))log.push('\nNon loaded modules: ',_.pluck(unloaded,'name'));if(odoo.debug&&!_.isEmpty(debug_jobs))log.push('\nDebug: ',debug_jobs);if(odoo.debug||!_.isEmpty(failed)||!_.isEmpty(unloaded)){console[_.isEmpty(unloaded)?'info':'error'].apply(console,log);}}},process_jobs:function(jobs,services){var job;var require;var time;function process_job(job){var require=make_require(job);try{var def=$.Deferred();$.when(job.factory.call(null,require)).then(function(data){services[job.name]=data;clearTimeout(time);time=_.defer(odoo.process_jobs,jobs,services);def.resolve();},function(e){job.rejected=e||true;jobs.push(job);def.resolve();});jobs.splice(jobs.indexOf(job),1);job_deferred.push(def);}catch(e){job.error=e;}} i am new to JS so i am little bit confused..

on 12/5/15, 11:57 AM

Sorry I will be offline some days. If it was helpful then... cojld you vote it?

Axel Mendoza
on 12/5/15, 1:45 PM

I find out my problem, it was what one variable was not defined (lack of experience in JS..)

on 12/6/15, 5:32 AM

About This Community

This platform is for beginners and experts willing to share their Odoo knowledge. It's not a forum to discuss ideas, but a knowledge base of questions and their answers.


Odoo Training Center

Access to our E-learning platform and experience all Odoo Apps through learning videos, exercises and Quizz.

Test it now

Question tools

2 follower(s)


Asked: 12/4/15, 8:43 PM
Seen: 2176 times
Last updated: 12/6/15, 5:30 AM