From 8f1e83e71affee821ccafbf40a767c652222235b Mon Sep 17 00:00:00 2001 From: Martin Trigaux Date: Fri, 29 Sep 2017 14:25:27 +0200 Subject: [PATCH] [IMP] base: adds float_time t-options To be able to use t-options="{'widget': 'float_time'}" in QWeb views as we have the widget="float_time" in classic views --- odoo/addons/base/ir/ir_qweb/fields.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/odoo/addons/base/ir/ir_qweb/fields.py b/odoo/addons/base/ir/ir_qweb/fields.py index 27d13d3076c..b71966e6d6f 100644 --- a/odoo/addons/base/ir/ir_qweb/fields.py +++ b/odoo/addons/base/ir/ir_qweb/fields.py @@ -344,6 +344,21 @@ TIMEDELTA_UNITS = ( ) +class FloatTimeConverter(models.AbstractModel): + """ ``float_time`` converter, to display integral or fractional values as + human-readable time spans (e.g. 1.5 as "01:30"). + + Can be used on any numerical field. + """ + _name = 'ir.qweb.field.float_time' + _inherit = 'ir.qweb.field' + + @api.model + def value_to_html(self, value, options): + hours, minutes = divmod(value * 60, 60) + return '%02d:%02d' % (hours, minutes) + + class DurationConverter(models.AbstractModel): """ ``duration`` converter, to display integral or fractional values as human-readable time spans (e.g. 1.5 as "1 hour 30 minutes").