[ADD] Amount field for fuel log, with get_price function and associated on_change

bzr revid: dle@openerp.com-20120924101720-69eqj01p39irbj09
This commit is contained in:
Denis Ledoux dle@openerp.com 2012-09-24 12:17:20 +02:00
parent c94b5016a5
commit 9d4d16263e
2 changed files with 28 additions and 2 deletions

View File

@ -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'),
}

View File

@ -99,6 +99,7 @@
<field name="employee_id" />
<field name="liter" />
<field name="price_per_liter" />
<field name="amount" />
<field name="description" />
<field name="invoice" />
</tree>
@ -107,8 +108,9 @@
<group>
<field name="create_date" />
<field name="employee_id" />
<field name="liter" />
<field name="price_per_liter" />
<field name="liter" on_change="on_change_fuel(liter,price_per_liter)"/>
<field name="price_per_liter" on_change="on_change_fuel(liter,price_per_liter)" />
<field name="amount" />
<field name="description" />
<field name="invoice" />
</group>