Odometer field function for vehicle
bzr revid: dle@openerp.com-20120928102211-3els60kev6sv0ah4
This commit is contained in:
@@ -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
@@ -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>
|
||||
|
||||
Reference in New Issue
Block a user