From 9d4d16263ecf8af81f92594473323c36e22bb26b Mon Sep 17 00:00:00 2001
From: "Denis Ledoux dle@openerp.com" <>
Date: Mon, 24 Sep 2012 12:17:20 +0200
Subject: [PATCH] [ADD] Amount field for fuel log, with get_price function and
associated on_change
bzr revid: dle@openerp.com-20120924101720-69eqj01p39irbj09
---
addons/fleet/fleet.py | 24 ++++++++++++++++++++++++
addons/fleet/fleet_view.xml | 6 ++++--
2 files changed, 28 insertions(+), 2 deletions(-)
diff --git a/addons/fleet/fleet.py b/addons/fleet/fleet.py
index 82702e5ca19..5fcbd54f20a 100644
--- a/addons/fleet/fleet.py
+++ b/addons/fleet/fleet.py
@@ -135,12 +135,36 @@ class fleet_vehicle_log(osv.Model):
}
class fleet_vehicle_log_fuel(osv.Model):
+
_inherit = 'fleet.vehicle.log'
+
+ def _get_price(self, cr, uid, ids, fields, args, context=None):
+ result = {}
+ for record in self.browse(cr, uid, ids, context=None):
+ res = record.liter * record.price_per_liter
+ result[record.id] = {
+ 'amount' : res,
+ }
+ return result
+
+ def on_change_fuel(self, cr, uid, ids, liter, price_per_liter, context=None):
+
+ print 'Amount : ' + str(liter * price_per_liter)
+
+ return {
+ 'value' : {
+ 'amount' : liter * price_per_liter,
+ }
+ }
+
+
+
_name = 'fleet.vehicle.log.fuel'
_columns = {
'description' : fields.text('Description'),
'liter' : fields.integer('Liter'),
'price_per_liter' : fields.float('Price per liter'),
+ 'amount': fields.function(_get_price, type='float', multi='fuel', string='Fuel Amount'),
'type' : fields.char('Type', size=32),
'invoice' : fields.many2one('account.invoice', 'Invoice', required=False, help='Invoice of the refueling log'),
}
diff --git a/addons/fleet/fleet_view.xml b/addons/fleet/fleet_view.xml
index 2c2eda08eac..85a0472f8c6 100644
--- a/addons/fleet/fleet_view.xml
+++ b/addons/fleet/fleet_view.xml
@@ -99,6 +99,7 @@
+
@@ -107,8 +108,9 @@
-
-
+
+
+