Odoo Help


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

on 12/4/15, 8:43 PM 1,836 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
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: 1836 times
Last updated: 12/6/15, 5:30 AM