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'
'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),
_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 = {}
<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>
<field name="vin_sn" />
<field name="acquisition_date" />
<field name="state" />
+ <field name="odometer" />
</tree>
</field>
</record>