[ADD]Reporting + replace cost_type by cost_subtype and cost_category by cost_type

bzr revid: dle@openerp.com-20121025081508-zf6pf0l7zpr31dky
This commit is contained in:
Denis Ledoux dle@openerp.com 2012-10-25 10:15:08 +02:00
parent a356d849b0
commit a6ee3fe911
4 changed files with 92 additions and 64 deletions

View File

@ -7,7 +7,7 @@
<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">['&amp;',('parent_id','=',False),('cost_category','=','fuel')]</field>
<field name="domain">['&amp;',('parent_id','=',False),('cost_type','=','fuel')]</field>
</record>
<record model="ir.actions.act_window" id="action_fleet_vehicle_log_services_graph">
@ -16,7 +16,7 @@
<field name="view_id" ref="fleet_vehicle_costs_graph" />
<field name="view_type">form</field>
<field name="view_mode">tree</field>
<field name="domain">['&amp;',('parent_id','=',False),('cost_category','=','services')]</field>
<field name="domain">['&amp;',('parent_id','=',False),('cost_type','=','services')]</field>
</record>
<record model="ir.actions.act_window" id="action_fleet_vehicle_log_contract_graph">
@ -25,7 +25,7 @@
<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">['&amp;',('parent_id','=',False),('cost_category','=','contract')]</field>
<field name="domain">['&amp;',('parent_id','=',False),('cost_type','=','contract')]</field>
</record>
<record model="ir.actions.act_window" id="action_fleet_vehicle_costs_graph">
@ -51,6 +51,25 @@
</field>
</record>
<record model="ir.actions.act_window" id="action_fleet_reporting_costs">
<field name="name">Costs Analysis</field>
<field name="res_model">fleet.vehicle.cost</field>
<field name="view_id" ref="fleet_vehicle_costs_tree"></field>
<field name="view_type">form</field>
<field name="view_mode">tree</field>
<field name="context">{"search_default_parent_false" : True,"search_default_groupby_cost_type" : True,"search_default_groupby_cost_subtype" : True, "search_default_groupby_vehicle_id" : True,}</field>
<field name="help" type="html">
<p>
OpenERP helps you managing the costs for your different vehicles
Costs are generally created from services and contract and appears here.
</p>
<p>
Thanks to the different filters, OpenERP can only print the effective
costs, sort them by type and by vehicle.
</p>
</field>
</record>
<record id="board_fleet_form" model="ir.ui.view">
<field name="name">board.fleet.form</field>
<field name="model">board.board</field>
@ -94,10 +113,17 @@
</field>
</record>
<menuitem id="menu_fleet_dashboard_in_module"
<menuitem id="menu_fleet_dashboard"
parent="base.menu_reporting_dashboard"
action="open_board_fleet"
sequence="50"/>
<menuitem name="Fleet" parent="base.menu_reporting" id="menu_fleet_reporting" sequence="50" />
<menuitem id="menu_fleet_dashboard_in_module"
parent="menu_fleet_reporting"
action="action_fleet_reporting_costs"
sequence="1"/>
</data>
</openerp>

View File

@ -662,7 +662,7 @@
<record id="log_service_1" model="fleet.vehicle.log.services" >
<field name="vehicle_id" ref="vehicle_2" />
<field name="amount">650</field>
<field name="cost_type" ref="type_service_service_8"/>
<field name="cost_subtype" ref="type_service_service_8"/>
<field name="date">2012-09-02</field>
<field name="purchaser_id" ref="base.res_partner_address_18" />
<field name="inv_ref">4586</field>
@ -673,7 +673,7 @@
<record id="services_cost_11" model="fleet.vehicle.cost" >
<field name="vehicle_id" ref="vehicle_2" />
<field name="amount">50</field>
<field name="cost_type" ref="type_service_7"/>
<field name="cost_subtype" ref="type_service_7"/>
<field name="date">2012-09-02</field>
<field name="parent_id" ref="log_service_1_fleet_vehicle_cost" />
</record>
@ -681,7 +681,7 @@
<record id="services_cost_12" model="fleet.vehicle.cost" >
<field name="vehicle_id" ref="vehicle_2" />
<field name="amount">25</field>
<field name="cost_type" ref="type_service_8"/>
<field name="cost_subtype" ref="type_service_8"/>
<field name="date">2012-09-02</field>
<field name="parent_id" ref="log_service_1_fleet_vehicle_cost" />
</record>
@ -689,7 +689,7 @@
<record id="services_cost_13" model="fleet.vehicle.cost" >
<field name="vehicle_id" ref="vehicle_2" />
<field name="amount">100</field>
<field name="cost_type" ref="type_service_9"/>
<field name="cost_subtype" ref="type_service_9"/>
<field name="date">2012-09-02</field>
<field name="parent_id" ref="log_service_1_fleet_vehicle_cost" />
</record>
@ -697,7 +697,7 @@
<record id="log_service_2" model="fleet.vehicle.log.services" >
<field name="vehicle_id" ref="vehicle_2" />
<field name="amount">350</field>
<field name="cost_type" ref="type_service_service_8"/>
<field name="cost_subtype" ref="type_service_service_8"/>
<field name="date">2012-11-02</field>
<field name="purchaser_id" ref="base.res_partner_address_18" />
<field name="inv_ref">4814</field>
@ -708,7 +708,7 @@
<record id="services_cost_21" model="fleet.vehicle.cost" >
<field name="vehicle_id" ref="vehicle_2" />
<field name="amount">100</field>
<field name="cost_type" ref="type_service_10"/>
<field name="cost_subtype" ref="type_service_10"/>
<field name="date">2012-11-02</field>
<field name="parent_id" ref="log_service_2_fleet_vehicle_cost" />
</record>
@ -716,7 +716,7 @@
<record id="services_cost_22" model="fleet.vehicle.cost" >
<field name="vehicle_id" ref="vehicle_2" />
<field name="amount">150</field>
<field name="cost_type" ref="type_service_11"/>
<field name="cost_subtype" ref="type_service_11"/>
<field name="date">2012-11-02</field>
<field name="parent_id" ref="log_service_2_fleet_vehicle_cost" />
</record>
@ -724,7 +724,7 @@
<record id="services_cost_23" model="fleet.vehicle.cost" >
<field name="vehicle_id" ref="vehicle_2" />
<field name="amount">100</field>
<field name="cost_type" ref="type_service_12"/>
<field name="cost_subtype" ref="type_service_12"/>
<field name="date">2012-11-02</field>
<field name="parent_id" ref="log_service_2_fleet_vehicle_cost" />
</record>
@ -732,7 +732,7 @@
<record id="log_service_3" model="fleet.vehicle.log.services" >
<field name="vehicle_id" ref="vehicle_1" />
<field name="amount">513</field>
<field name="cost_type" ref="type_service_service_8"/>
<field name="cost_subtype" ref="type_service_service_8"/>
<field name="date">2012-10-15</field>
<field name="purchaser_id" ref="base.res_partner_address_18" />
<field name="inv_ref">124</field>
@ -743,7 +743,7 @@
<record id="log_service_4" model="fleet.vehicle.log.services" >
<field name="vehicle_id" ref="vehicle_3" />
<field name="amount">412</field>
<field name="cost_type" ref="type_service_service_8"/>
<field name="cost_subtype" ref="type_service_service_8"/>
<field name="date">2012-10-08</field>
<field name="purchaser_id" ref="base.res_partner_address_18" />
<field name="inv_ref">20984</field>
@ -754,7 +754,7 @@
<record id="log_service_5" model="fleet.vehicle.log.services" >
<field name="vehicle_id" ref="vehicle_4" />
<field name="amount">275</field>
<field name="cost_type" ref="type_service_service_8"/>
<field name="cost_subtype" ref="type_service_service_8"/>
<field name="date">2012-09-25</field>
<field name="purchaser_id" ref="base.res_partner_address_18" />
<field name="inv_ref">241</field>
@ -765,7 +765,7 @@
<record id="log_service_6" model="fleet.vehicle.log.services" >
<field name="vehicle_id" ref="vehicle_5" />
<field name="amount">302</field>
<field name="cost_type" ref="type_service_service_8"/>
<field name="cost_subtype" ref="type_service_service_8"/>
<field name="date">2012-09-15</field>
<field name="purchaser_id" ref="base.res_partner_address_18" />
<field name="inv_ref">22513</field>
@ -778,7 +778,7 @@
<field name="amount">0</field>
<field name="cost_generated">20</field>
<field name="cost_frequency">daily</field>
<field name="cost_type" ref="type_service_56"/>
<field name="cost_subtype" ref="type_service_56"/>
<field name="date" eval="time.strftime('%Y-01-01')" />
<field name="start_date" eval="time.strftime('%Y-01-01')" />
<field name="expiration_date" eval="(DateTime.now() + timedelta(5)).strftime('%Y-%m-%d')" />
@ -790,7 +790,7 @@
<record id="contract_cost_11" model="fleet.vehicle.cost" >
<field name="vehicle_id" ref="vehicle_2" />
<field name="amount">50</field>
<field name="cost_type" ref="type_service_service_2"/>
<field name="cost_subtype" ref="type_service_service_2"/>
<field name="date">2012-01-01</field>
<field name="parent_id" ref="log_contract_1_fleet_vehicle_cost" />
</record>
@ -798,7 +798,7 @@
<record id="contract_cost_12" model="fleet.vehicle.cost" >
<field name="vehicle_id" ref="vehicle_2" />
<field name="amount">25</field>
<field name="cost_type" ref="type_service_service_3"/>
<field name="cost_subtype" ref="type_service_service_3"/>
<field name="date">2012-01-01</field>
<field name="parent_id" ref="log_contract_1_fleet_vehicle_cost" />
</record>
@ -806,7 +806,7 @@
<record id="contract_cost_13" model="fleet.vehicle.cost" >
<field name="vehicle_id" ref="vehicle_2" />
<field name="amount">100</field>
<field name="cost_type" ref="type_service_service_4"/>
<field name="cost_subtype" ref="type_service_service_4"/>
<field name="date">2012-01-01</field>
<field name="parent_id" ref="log_contract_1_fleet_vehicle_cost" />
</record>
@ -816,7 +816,7 @@
<field name="amount">0</field>
<field name="cost_generated">150</field>
<field name="cost_frequency">weekly</field>
<field name="cost_type" ref="type_service_56"/>
<field name="cost_subtype" ref="type_service_56"/>
<field name="date" eval="time.strftime('%Y-01-01')" />
<field name="start_date" eval="time.strftime('%Y-01-01')" />
<field name="expiration_date" eval="(DateTime.now() + timedelta(-1)).strftime('%Y-%m-%d')" />
@ -828,7 +828,7 @@
<record id="contract_cost_21" model="fleet.vehicle.cost" >
<field name="vehicle_id" ref="vehicle_1" />
<field name="amount">50</field>
<field name="cost_type" ref="type_service_service_2"/>
<field name="cost_subtype" ref="type_service_service_2"/>
<field name="date">2012-01-01</field>
<field name="parent_id" ref="log_contract_2_fleet_vehicle_cost" />
</record>
@ -836,7 +836,7 @@
<record id="contract_cost_22" model="fleet.vehicle.cost" >
<field name="vehicle_id" ref="vehicle_1" />
<field name="amount">25</field>
<field name="cost_type" ref="type_service_service_3"/>
<field name="cost_subtype" ref="type_service_service_3"/>
<field name="date">2012-01-01</field>
<field name="parent_id" ref="log_contract_2_fleet_vehicle_cost" />
</record>
@ -844,7 +844,7 @@
<record id="contract_cost_23" model="fleet.vehicle.cost" >
<field name="vehicle_id" ref="vehicle_1" />
<field name="amount">100</field>
<field name="cost_type" ref="type_service_service_4"/>
<field name="cost_subtype" ref="type_service_service_4"/>
<field name="date">2012-01-01</field>
<field name="parent_id" ref="log_contract_2_fleet_vehicle_cost" />
</record>
@ -854,7 +854,7 @@
<field name="amount">0</field>
<field name="cost_generated">400</field>
<field name="cost_frequency">monthly</field>
<field name="cost_type" ref="type_service_56"/>
<field name="cost_subtype" ref="type_service_56"/>
<field name="date" eval="time.strftime('%Y-01-01')"/>
<field name="start_date" eval="time.strftime('%Y-01-01')" />
<field name="expiration_date" eval="time.strftime('%Y-12-31')" />
@ -866,7 +866,7 @@
<record id="contract_cost_31" model="fleet.vehicle.cost" >
<field name="vehicle_id" ref="vehicle_3" />
<field name="amount">50</field>
<field name="cost_type" ref="type_service_service_2"/>
<field name="cost_subtype" ref="type_service_service_2"/>
<field name="date">2012-01-01</field>
<field name="parent_id" ref="log_contract_3_fleet_vehicle_cost" />
</record>
@ -874,7 +874,7 @@
<record id="contract_cost_32" model="fleet.vehicle.cost" >
<field name="vehicle_id" ref="vehicle_3" />
<field name="amount">25</field>
<field name="cost_type" ref="type_service_service_3"/>
<field name="cost_subtype" ref="type_service_service_3"/>
<field name="date">2012-01-01</field>
<field name="parent_id" ref="log_contract_3_fleet_vehicle_cost" />
</record>
@ -882,7 +882,7 @@
<record id="contract_cost_33" model="fleet.vehicle.cost" >
<field name="vehicle_id" ref="vehicle_3" />
<field name="amount">100</field>
<field name="cost_type" ref="type_service_service_4"/>
<field name="cost_subtype" ref="type_service_service_4"/>
<field name="date">2012-01-01</field>
<field name="parent_id" ref="log_contract_3_fleet_vehicle_cost" />
</record>
@ -892,7 +892,7 @@
<field name="amount">0</field>
<field name="cost_generated">4000</field>
<field name="cost_frequency">yearly</field>
<field name="cost_type" ref="type_service_56"/>
<field name="cost_subtype" ref="type_service_56"/>
<field name="date" eval="time.strftime('%Y-01-01')" />
<field name="start_date" eval="time.strftime('%Y-01-01')" />
<field name="expiration_date" eval="time.strftime('%Y-12-31')" />
@ -904,7 +904,7 @@
<record id="contract_cost_41" model="fleet.vehicle.cost" >
<field name="vehicle_id" ref="vehicle_4" />
<field name="amount">50</field>
<field name="cost_type" ref="type_service_service_2"/>
<field name="cost_subtype" ref="type_service_service_2"/>
<field name="date">2012-01-01</field>
<field name="parent_id" ref="log_contract_4_fleet_vehicle_cost" />
</record>
@ -912,7 +912,7 @@
<record id="contract_cost_42" model="fleet.vehicle.cost" >
<field name="vehicle_id" ref="vehicle_4" />
<field name="amount">25</field>
<field name="cost_type" ref="type_service_service_3"/>
<field name="cost_subtype" ref="type_service_service_3"/>
<field name="date">2012-01-01</field>
<field name="parent_id" ref="log_contract_4_fleet_vehicle_cost" />
</record>
@ -920,7 +920,7 @@
<record id="contract_cost_43" model="fleet.vehicle.cost" >
<field name="vehicle_id" ref="vehicle_4" />
<field name="amount">100</field>
<field name="cost_type" ref="type_service_service_4"/>
<field name="cost_subtype" ref="type_service_service_4"/>
<field name="date">2012-01-01</field>
<field name="parent_id" ref="log_contract_4_fleet_vehicle_cost" />
</record>
@ -930,7 +930,7 @@
<field name="amount">17000</field>
<field name="cost_generated">0</field>
<field name="cost_frequency">no</field>
<field name="cost_type" ref="type_service_56"/>
<field name="cost_subtype" ref="type_service_56"/>
<field name="date" eval="time.strftime('2012-01-01')" />
<field name="start_date" eval="time.strftime('2012-01-01')" />
<field name="expiration_date" eval="time.strftime('2016-12-31')" />
@ -942,7 +942,7 @@
<record id="contract_cost_51" model="fleet.vehicle.cost" >
<field name="vehicle_id" ref="vehicle_5" />
<field name="amount">50</field>
<field name="cost_type" ref="type_service_service_2"/>
<field name="cost_subtype" ref="type_service_service_2"/>
<field name="date">2012-01-01</field>
<field name="parent_id" ref="log_contract_5_fleet_vehicle_cost" />
</record>
@ -950,7 +950,7 @@
<record id="contract_cost_52" model="fleet.vehicle.cost" >
<field name="vehicle_id" ref="vehicle_5" />
<field name="amount">25</field>
<field name="cost_type" ref="type_service_service_3"/>
<field name="cost_subtype" ref="type_service_service_3"/>
<field name="date">2012-01-01</field>
<field name="parent_id" ref="log_contract_5_fleet_vehicle_cost" />
</record>
@ -958,7 +958,7 @@
<record id="contract_cost_53" model="fleet.vehicle.cost" >
<field name="vehicle_id" ref="vehicle_5" />
<field name="amount">100</field>
<field name="cost_type" ref="type_service_service_4"/>
<field name="cost_subtype" ref="type_service_service_4"/>
<field name="date">2012-01-01</field>
<field name="parent_id" ref="log_contract_5_fleet_vehicle_cost" />
</record>

View File

@ -28,8 +28,8 @@ class fleet_vehicle_cost(osv.Model):
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.cost_subtype.name:
name = name + ' / '+ record.cost_subtype.name
if record.date:
name = name + ' / '+ record.date
res.append((record.id, name))
@ -43,9 +43,9 @@ class fleet_vehicle_cost(osv.Model):
'name' : fields.function(_cost_name_get_fnc, type="char", string='Name', store=True),
#'name' : fields.char('Name',size=32),
'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'),
'cost_subtype': 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),
'cost_type' : 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,7 +58,7 @@ class fleet_vehicle_cost(osv.Model):
_default ={
'parent_id':None,
'auto_generated' : False,
'cost_category' : 'other',
'cost_type' : 'other',
}
@ -68,14 +68,14 @@ class fleet_vehicle_cost(osv.Model):
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
data['cost_type'] = parent.cost_type
if 'contract_id' in data and data['contract_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'
data['cost_subtype'] = contract.cost_subtype.id
data['cost_type'] = contract.cost_type
if not('cost_type' in data and data['cost_type']):
data['cost_type'] = 'other'
cost_id = super(fleet_vehicle_cost, self).create(cr, uid, data, context=context)
return cost_id
@ -418,7 +418,7 @@ class fleet_vehicle(osv.Model):
if (record.log_contracts):
ids = self.pool.get('fleet.vehicle.log.contract').search(cr,uid,[('vehicle_id','=',record.id),('state','=','open')],limit=1,order='expiration_date asc')
if len(ids) > 0:
res.append((record.id,self.pool.get('fleet.vehicle.log.contract').browse(cr,uid,ids[0],context=context).cost_type.name))
res.append((record.id,self.pool.get('fleet.vehicle.log.contract').browse(cr,uid,ids[0],context=context).cost_subtype.name))
else:
res.append((record.id,''))
return dict(res)
@ -763,10 +763,10 @@ class fleet_vehicle_log_fuel(osv.Model):
_defaults = {
'purchaser_id': lambda self, cr, uid, ctx: uid,
'date' : time.strftime('%Y-%m-%d'),
'cost_type': _get_default_service_type,
'cost_subtype': _get_default_service_type,
}
def create(self, cr, uid, data, context=None):
data['cost_category'] = 'fuel'
data['cost_type'] = 'fuel'
cost_id = super(fleet_vehicle_log_fuel, self).create(cr, uid, data, context=context)
return cost_id
@ -840,7 +840,7 @@ class fleet_vehicle_log_services(osv.Model):
'date' : time.strftime('%Y-%m-%d'),
}
def create(self, cr, uid, data, context=None):
data['cost_category'] = 'services'
data['cost_type'] = 'services'
cost_id = super(fleet_vehicle_log_services, self).create(cr, uid, data, context=context)
return cost_id
@ -900,7 +900,7 @@ class fleet_vehicle_log_contract(osv.Model):
if found:
startdate += delta
while startdate < d:
data = {'amount' : contract.cost_generated,'date' : startdate.strftime('%Y-%m-%d'),'vehicle_id' : contract.vehicle_id.id,'cost_type' : contract.cost_type.id,'contract_id' : contract.id,'auto_generated' : True}
data = {'amount' : contract.cost_generated,'date' : startdate.strftime('%Y-%m-%d'),'vehicle_id' : contract.vehicle_id.id,'cost_subtype' : contract.cost_subtype.id,'contract_id' : contract.id,'auto_generated' : True}
print data
cost_id = self.pool.get('fleet.vehicle.cost').create(cr, uid, data, context=context)
startdate += delta
@ -916,8 +916,8 @@ class fleet_vehicle_log_contract(osv.Model):
for record in reads:
if record.vehicle_id.name:
name = str(record.vehicle_id.name)
if record.cost_type.name:
name = name+ ' / '+ str(record.cost_type.name)
if record.cost_subtype.name:
name = name+ ' / '+ str(record.cost_subtype.name)
if record.date:
name = name+ ' / '+ record.date
res.append((record.id, name))
@ -1012,7 +1012,7 @@ class fleet_vehicle_log_contract(osv.Model):
for element in contracts:
temp = []
temp.append(('default_vehicle_id',element.vehicle_id.id))
temp.append(('default_cost_type',element.cost_type.id))
temp.append(('default_cost_subtype',element.cost_subtype.id))
temp.append(('default_amount',element.amount))
temp.append(('default_odometer_id',element.odometer_id.id))
temp.append(('default_odometer_unit',element.odometer_unit))
@ -1102,7 +1102,7 @@ class fleet_vehicle_log_contract(osv.Model):
self.write(cr, uid, ids, {'state': 'open'})
return True
def create(self, cr, uid, data, context=None):
data['cost_category'] = 'contract'
data['cost_type'] = 'contract'
cost_id = super(fleet_vehicle_log_contract, self).create(cr, uid, data, context=context)
return cost_id

View File

@ -375,7 +375,7 @@
<group col="2">
<group string="Contract details">
<field name="vehicle_id" on_change="on_change_vehicle(vehicle_id)"/>
<field name="cost_type" string="Contract Type" required="1" domain="['|',('category','=','contract'),('category','=','both')]"/>
<field name="cost_subtype" string="Contract Type" required="1" domain="['|',('category','=','contract'),('category','=','both')]"/>
<field name="amount" string="Activation Cost"/>
<label for="cost_generated"/>
<div>
@ -408,7 +408,7 @@
<group>
<field name="cost_ids" context="{'vehicle_id': vehicle_id}" nolabel="1">
<tree version="7.0" editable="bottom">
<field name="cost_type" domain="[('category','=','service')]"/>
<field name="cost_subtype" domain="[('category','=','service')]"/>
<field name="amount" sum="Price" string="Indicative Cost" />
</tree>
</field>
@ -450,7 +450,7 @@
<field name="arch" type="xml">
<tree string="Contract logs" version="7.0" colors="orange:warning_date>0 and warning_date&lt;15;red:warning_date==0;grey:state=='closed'">
<field name="vehicle_id" />
<field name="cost_type" />
<field name="cost_subtype" />
<field name="state" />
<field name="start_date" />
<field name="expiration_date" />
@ -674,7 +674,7 @@
<group col="2">
<group string="Services Details">
<field name="vehicle_id" on_change="on_change_vehicle(vehicle_id)"/>
<field name="cost_type" domain="['|',('category','=','service'),('category','=','both')]" required="1"/>
<field name="cost_subtype" domain="['|',('category','=','service'),('category','=','both')]" required="1"/>
<field name="amount" string="Price"/>
</group>
<group string="Odometer Details">
@ -696,7 +696,7 @@
<group string="Included Services">
<field name="cost_ids" nolabel="1">
<tree string="Included Services" version="7.0" editable="bottom">
<field name="cost_type" domain="[('category','=','service')]"/>
<field name="cost_subtype" domain="[('category','=','service')]"/>
<field name="amount" sum="Price" string="Cost"/>
</tree>
</field>
@ -715,7 +715,7 @@
<field name="arch" type="xml">
<tree string="Services Logs">
<field name="vehicle_id" />
<field name="cost_type"/>
<field name="cost_subtype"/>
<field name="amount" sum="Total"/>
<field name="date" />
<field name="purchaser_id"/>
@ -795,6 +795,7 @@
<field name="date"/>
<field name="vehicle_id" />
<field name="cost_type"/>
<field name="cost_subtype"/>
<field name="amount" sum="Total Cost"/>
<field name="parent_id" invisible="1" />
</tree>
@ -807,12 +808,13 @@
<field name="arch" type="xml">
<search string="Vehicles costs" >
<field name="vehicle_id" />
<field name="cost_type"/>
<field name="cost_subtype"/>
<field name="date"/>
<field name="parent_id"/>
<filter name="parent_false" domain="[('parent_id','=',False)]" string="Effective Costs"/>
<group expand="1" string="Group By...">
<filter name="groupby_cost_type" context="{'group_by' : 'cost_type'}" string="Cost Type"/>
<filter name="groupby_cost_subtype" context="{'group_by' : 'cost_subtype'}" string="Cost Subtype"/>
<filter name="groupby_vehicle_id" context="{'group_by' : 'vehicle_id'}" string="Vehicle"/>
</group>
</search>
@ -828,7 +830,7 @@
<group col="2" string="Cost Details">
<group>
<field name="vehicle_id" />
<field name="cost_type"/>
<field name="cost_subtype"/>
<field name="amount"/>
</group>
<group>
@ -858,7 +860,7 @@
<field name="res_model">fleet.vehicle.cost</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form,graph</field>
<field name="context">{"search_default_parent_false" : True}</field>
<field name="context">{"search_default_parent_false" : True, "search_default_groupby_vehicle_id" : True,}</field>
<field name="help" type="html">
<p class="oe_view_nocontent_create">
Click to create a new cost.