Odometer field function for vehicle

bzr revid: dle@openerp.com-20120928102211-3els60kev6sv0ah4
This commit is contained in:
Denis Ledoux dle@openerp.com
2012-09-28 12:22:11 +02:00
parent 0be6d1532f
commit 64af74c6f0
2 changed files with 47 additions and 13 deletions
+23
View File
@@ -120,6 +120,25 @@ class fleet_vehicle(osv.Model):
res['domain']=[('vehicle_id','=', ids[0])]
return res
def get_odometer(self, cr, uid, ids, context=None):
if context is None:
context = {}
if not ids:
return []
reads = self.browse(cr, uid, ids, context=context)
res = []
for record in reads:
odometers = self.pool.get('fleet.vehicle.odometer').search(cr,uid,[('vehicle_id','=',record.id)], order='date desc')
if len(odometers) > 0:
res.append((record.id,self.pool.get('fleet.vehicle.odometer').browse(cr, uid, odometers[0], context=context).value))
else :
res.append((record.id,0))
return res
def _vehicle_odometer_get_fnc(self, cr, uid, ids, prop, unknow_none, context=None):
res = self.get_odometer(cr, uid, ids, context=context)
return dict(res)
_name = 'fleet.vehicle'
_description = 'Fleet Vehicle'
@@ -142,6 +161,8 @@ class fleet_vehicle(osv.Model):
'doors' : fields.integer('Doors Number', help='Number of doors of the vehicle'),
'tag_ids' :fields.many2many('fleet.vehicle.tag','vehicle_vehicle_tag_rel','vehicle_tag_id','tag_id','Tags'),
'odometer' : fields.function(_vehicle_odometer_get_fnc, type="float", string='Odometer', store=False),
'transmission' : fields.selection([('manual', 'Manual'),('automatic','Automatic')], 'Transmission', help='Transmission Used by the vehicle',required=False),
'fuel_type' : fields.selection([('gasoline', 'Gasoline'),('diesel','Diesel'),('electric','Electric'),('hybrid','Hybrid')], 'Fuel Type', help='Fuel Used by the vehicle',required=False),
'horsepower' : fields.integer('Horsepower',required=False),
@@ -206,6 +227,8 @@ class fleet_vehicle_odometer(osv.Model):
_name='fleet.vehicle.odometer'
_description='Odometer log for a vehicle'
_order='date desc'
def name_get(self, cr, uid, ids, context=None):
if context is None:
context = {}
+24 -13
View File
@@ -95,26 +95,36 @@
<header>
<field name="state" widget="statusbar" clickable="True" />
</header>
<sheet>
<div class="oe_right oe_button_box">
<button name="act_show_log_insurance" type="object" string="Insurances" help="show the insurance for this vehicle" />
<button name="act_show_log_fuel" type="object" string="Fuel Logs" help="show the fuel logs for this vehicle" />
<button name="act_show_log_services" type="object" string="Services Logs" help="show the services logs for this vehicle" />
<sheet>
<field name="image" widget='image' class="oe_left oe_avatar"/>
<div class="oe_title">
<label for="model_id" class="oe_edit_only"/>
<h1>
<field name="model_id" class="oe_inline"/>
</h1>
<label for="license_plate" class="oe_edit_only"/>
<h2>
<field name="license_plate" class="oe_inline"/>
</h2>
<label for="tag_ids" class="oe_edit_only"/>
<field name="tag_ids" widget="many2many_tags" />
</div>
<field name="image" widget='image'/>
<div class="oe_right oe_button_box">
<button name="act_show_log_insurance" type="object" string="Insurances" help="show the insurance for this vehicle" />
<button name="act_show_log_fuel" type="object" string="Fuel Logs" help="show the fuel logs for this vehicle" />
<button name="act_show_log_services" type="object" string="Services Logs" help="show the services logs for this vehicle" />
</div>
<group col ="2">
<group string="General Properties">
<field name="model_id" />
<field name="license_plate" />
<field name="vin_sn" />
<field name="driver" />
<field name="location" />
<field name="driver" />
<field name="location" />
<field name="company_id" groups="base.group_multi_company"/>
</group>
<group string="Additional Properties">
<field name="tag_ids" widget="many2many_tags" />
<field name="odometer" />
<field name="acquisition_date" />
<field name="acquisition_price" />
</group>
@@ -153,6 +163,7 @@
<field name="vin_sn" />
<field name="acquisition_date" />
<field name="state" />
<field name="odometer" />
</tree>
</field>
</record>