class fleet_vehicle_cost(osv.Model):
_name = 'fleet.vehicle.cost'
_description = 'Cost of vehicle'
+ _order = 'date desc, vehicle_id asc'
+
+ def name_get(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:
+ if record.vehicle_id.license_plate:
+ name = record.vehicle_id.license_plate
+ if record.cost_type.name:
+ name = name + ' / '+ record.cost_type.name
+ if record.date:
+ name = name + ' / '+ record.date
+ res.append((record.id, name))
+ return res
+
+ def _cost_name_get_fnc(self, cr, uid, ids, name, unknow_none, context=None):
+ res = self.name_get(cr, uid, ids, context=context)
+ return dict(res)
+
_columns = {
+ 'name' : fields.function(_cost_name_get_fnc, type="char", string='Name', store=True),
+
'vehicle_id': fields.many2one('fleet.vehicle', 'Vehicle', required=True, help='Vehicle concerned by this fuel log'),
'cost_type': fields.many2one('fleet.service.type', 'Service type', required=False, help='Service type purchased with this cost'),
'amount': fields.float('Total Price'),
'parent_id': fields.many2one('fleet.vehicle.cost', 'Parent', required=False, help='Parent cost to this current cost'),
+ 'date' :fields.date('Cost Date',help='Date when the cost has been executed'),
}
def create(self, cr, uid, data, context=None):
if 'parent_id' in data:
_columns = {
#'name' : fields.char('Name',size=64),
- 'date' :fields.date('Refueling Date',help='Date when the refueling has been performed'),
'liter' : fields.float('Liter'),
'price_per_liter' : fields.float('Price Per Liter'),
'purchaser_id' : fields.many2one('res.partner', 'Purchaser',domain="['|',('customer','=',True),('employee','=',True)]"),
#'name' : fields.char('Name',size=64),
- 'date' :fields.date('Service Date',help='Date when the service will be/has been performed'),
'service_ids' : fields.one2many('fleet.vehicle.cost', 'parent_id', 'Services completed'),
'purchaser_id' : fields.many2one('res.partner', 'Purchaser',domain="['|',('customer','=',True),('employee','=',True)]"),
'inv_ref' : fields.char('Invoice Reference', size=64),
_columns = {
'name' : fields.function(_vehicle_contract_name_get_fnc, type="text", string='Name', store=True),
#'name' : fields.char('Name',size=64),
- 'date' :fields.date('Contract Date',help='Date when the contract has been signed'),
'cost_type': fields.many2one('fleet.service.type', 'Service type', required=False, help='Service type purchased with this cost', domain="[('category','=','contract')]"),
<field name="vehicle_id" />
<field name="cost_type"/>
<field name="amount"/>
+ <field name="date"/>
<field name="parent_id"/>
</tree>
</field>
</record>
+ <record model='ir.ui.view' id='fleet_vehicle_costs_form'>
+ <field name="name">fleet.vehicle.cost.form</field>
+ <field name="model">fleet.vehicle.cost</field>
+ <field name="arch" type="xml">
+ <form string="Vehicle costs" version="7.0">
+ <sheet>
+ <group col="2" string="Cost Details">
+ <group>
+ <field name="vehicle_id" />
+ <field name="cost_type"/>
+ <field name="amount"/>
+ </group>
+ <group>
+ <field name="date"/>
+ <field name="parent_id"/>
+ </group>
+ </group>
+ </sheet>
+ </form>
+ </field>
+ </record>
+
<record model='ir.actions.act_window' id='fleet_vehicle_costs_act'>
<field name="name">Vehicle Costs</field>
<field name="res_model">fleet.vehicle.cost</field>