[ADD]Cost category in vehicle cost, which contains contract, services, fuel or other
bzr revid: dle@openerp.com-20121024155602-lwtp0aic6osw9sq6
This commit is contained in:
parent
70a7d80de0
commit
3c503cb063
|
@ -3,26 +3,29 @@
|
|||
<data>
|
||||
<record model="ir.actions.act_window" id="action_fleet_vehicle_log_fuel_graph">
|
||||
<field name="name">Fuel Costs by Month</field>
|
||||
<field name="res_model">fleet.vehicle.log.fuel</field>
|
||||
<field name="view_id" ref="fleet_vehicle_log_fuel_graph"></field>
|
||||
<field name="res_model">fleet.vehicle.cost</field>
|
||||
<field name="view_id" ref="fleet_vehicle_costs_graph"></field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree</field>
|
||||
<field name="domain">['&',('parent_id','=',False),('cost_category','=','fuel')]</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.actions.act_window" id="action_fleet_vehicle_log_services_graph">
|
||||
<field name="name">Services Costs by Month</field>
|
||||
<field name="res_model">fleet.vehicle.log.services</field>
|
||||
<field name="view_id" ref="fleet_vehicle_log_services_graph" />
|
||||
<field name="res_model">fleet.vehicle.cost</field>
|
||||
<field name="view_id" ref="fleet_vehicle_costs_graph" />
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree</field>
|
||||
<field name="domain">['&',('parent_id','=',False),('cost_category','=','services')]</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.actions.act_window" id="action_fleet_vehicle_log_contract_graph">
|
||||
<field name="name">Contracts Costs by Month</field>
|
||||
<field name="res_model">fleet.vehicle.log.contract</field>
|
||||
<field name="view_id" ref="fleet_vehicle_log_contract_graph"></field>
|
||||
<field name="res_model">fleet.vehicle.cost</field>
|
||||
<field name="view_id" ref="fleet_vehicle_costs_graph"></field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree</field>
|
||||
<field name="domain">['&',('parent_id','=',False),('cost_category','=','contract')]</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.actions.act_window" id="action_fleet_vehicle_costs_graph">
|
||||
|
|
|
@ -45,7 +45,7 @@ class fleet_vehicle_cost(osv.Model):
|
|||
'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'),
|
||||
|
||||
'cost_category' : fields.selection([('contract', 'Contract'),('services','Services'),('fuel','Fuel'),('other','Other')], 'Category of the cost', help='For internal purpose only',required=True),
|
||||
'parent_id': fields.many2one('fleet.vehicle.cost', 'Parent', required=False, help='Parent cost to this current cost'),
|
||||
'cost_ids' : fields.one2many('fleet.vehicle.cost', 'parent_id', 'Included Services'),
|
||||
|
||||
|
@ -58,17 +58,24 @@ class fleet_vehicle_cost(osv.Model):
|
|||
_default ={
|
||||
'parent_id':None,
|
||||
'auto_generated' : False,
|
||||
'cost_category' : 'other',
|
||||
}
|
||||
|
||||
|
||||
|
||||
def create(self, cr, uid, data, context=None):
|
||||
if 'parent_id' in data and data['parent_id']:
|
||||
data['vehicle_id'] = self.browse(cr, uid, data['parent_id'], context=context).vehicle_id.id
|
||||
data['date'] = self.browse(cr, uid, data['parent_id'], context=context).date
|
||||
parent = self.browse(cr, uid, data['parent_id'], context=context)
|
||||
data['vehicle_id'] = parent.vehicle_id.id
|
||||
data['date'] = parent.date
|
||||
data['cost_category'] = parent.cost_category
|
||||
if 'contract_id' in data and data['contract_id']:
|
||||
data['vehicle_id'] = self.pool.get('fleet.vehicle.log.contract').browse(cr, uid, data['contract_id'], context=context).vehicle_id.id
|
||||
data['cost_type'] = self.pool.get('fleet.vehicle.log.contract').browse(cr, uid, data['contract_id'], context=context).cost_type.id
|
||||
contract = self.pool.get('fleet.vehicle.log.contract').browse(cr, uid, data['contract_id'], context=context)
|
||||
data['vehicle_id'] = contract.vehicle_id.id
|
||||
data['cost_type'] = contract.cost_type.id
|
||||
data['cost_category'] = contract.cost_category
|
||||
if not('cost_category' in data and data['cost_category']):
|
||||
data['cost_category'] = 'other'
|
||||
cost_id = super(fleet_vehicle_cost, self).create(cr, uid, data, context=context)
|
||||
return cost_id
|
||||
|
||||
|
@ -758,6 +765,10 @@ class fleet_vehicle_log_fuel(osv.Model):
|
|||
'date' : time.strftime('%Y-%m-%d'),
|
||||
'cost_type': _get_default_service_type,
|
||||
}
|
||||
def create(self, cr, uid, data, context=None):
|
||||
data['cost_category'] = 'fuel'
|
||||
cost_id = super(fleet_vehicle_log_fuel, self).create(cr, uid, data, context=context)
|
||||
return cost_id
|
||||
|
||||
############################
|
||||
############################
|
||||
|
@ -828,6 +839,10 @@ class fleet_vehicle_log_services(osv.Model):
|
|||
'purchaser_id': lambda self, cr, uid, ctx: uid,
|
||||
'date' : time.strftime('%Y-%m-%d'),
|
||||
}
|
||||
def create(self, cr, uid, data, context=None):
|
||||
data['cost_category'] = 'services'
|
||||
cost_id = super(fleet_vehicle_log_services, self).create(cr, uid, data, context=context)
|
||||
return cost_id
|
||||
|
||||
############################
|
||||
############################
|
||||
|
@ -1093,6 +1108,10 @@ class fleet_vehicle_log_contract(osv.Model):
|
|||
def contract_open(self, cr, uid, ids, *args):
|
||||
self.write(cr, uid, ids, {'state': 'open'})
|
||||
return True
|
||||
def create(self, cr, uid, data, context=None):
|
||||
data['cost_category'] = 'contract'
|
||||
cost_id = super(fleet_vehicle_log_contract, self).create(cr, uid, data, context=context)
|
||||
return cost_id
|
||||
|
||||
|
||||
############################
|
||||
|
|
Loading…
Reference in New Issue