[FIX]Inherits from cost problems

bzr revid: dle@openerp.com-20121004091753-8vg0ctsk5f8ys8sd
This commit is contained in:
Denis Ledoux dle@openerp.com 2012-10-04 11:17:53 +02:00
parent 6f97f45ee8
commit 07a3db1420
3 changed files with 282 additions and 85 deletions

View File

@ -2145,6 +2145,12 @@ gg==
<field name="name">Windshield Wiper(s) Replacement</field>
</record>
<record id="log_odometer_1" model="fleet.vehicle.odometer">
<field name="vehicle_id" ref="vehicle_1" />
<field name="date">2012-01-01</field>
<field name="value">0</field>
</record>
<record id="log_fuel_1" model="fleet.vehicle.log.fuel">
<field name="purchaser_id" ref="base.res_partner_2" />
<field name="vehicle_id" ref="vehicle_1" />
@ -2154,10 +2160,16 @@ gg==
<field name="price_per_liter">1.3</field>
<field name="amount">52</field>
<field name="inv_ref">67458</field>
<field name="value">0</field>
<field name="odometer_id" ref="log_odometer_1" />
<field name="notes">First refueling</field>
</record>
<record id="log_odometer_2" model="fleet.vehicle.odometer">
<field name="vehicle_id" ref="vehicle_1" />
<field name="date">2012-02-11</field>
<field name="value">658</field>
</record>
<record id="log_fuel_2" model="fleet.vehicle.log.fuel">
<field name="purchaser_id" ref="base.res_partner_2" />
<field name="vehicle_id" ref="vehicle_1" />
@ -2167,10 +2179,16 @@ gg==
<field name="price_per_liter">1.3</field>
<field name="amount">65</field>
<field name="inv_ref">455812</field>
<field name="value">658</field>
<field name="odometer_id" ref="log_odometer_2" />
<field name="notes">Second refueling of the car</field>
</record>
<record id="log_odometer_3" model="fleet.vehicle.odometer">
<field name="vehicle_id" ref="vehicle_1" />
<field name="date">2012-03-23</field>
<field name="value">1360</field>
</record>
<record id="log_fuel_3" model="fleet.vehicle.log.fuel">
<field name="purchaser_id" ref="base.res_partner_2" />
<field name="vehicle_id" ref="vehicle_1" />
@ -2180,10 +2198,16 @@ gg==
<field name="price_per_liter">1.32</field>
<field name="amount">59.4</field>
<field name="inv_ref">45199877</field>
<field name="value">1360</field>
<field name="odometer_id" ref="log_odometer_3" />
<field name="notes">Some notes ...</field>
</record>
<record id="log_odometer_4" model="fleet.vehicle.odometer">
<field name="vehicle_id" ref="vehicle_1" />
<field name="date">2012-04-5</field>
<field name="value">2044</field>
</record>
<record id="log_fuel_4" model="fleet.vehicle.log.fuel">
<field name="purchaser_id" ref="base.res_partner_2" />
<field name="vehicle_id" ref="vehicle_1" />
@ -2193,10 +2217,16 @@ gg==
<field name="price_per_liter">1.32</field>
<field name="amount">72.6</field>
<field name="inv_ref">654</field>
<field name="value">2044</field>
<field name="odometer_id" ref="log_odometer_4" />
<field name="notes">Some notes</field>
</record>
<record id="log_odometer_5" model="fleet.vehicle.odometer">
<field name="vehicle_id" ref="vehicle_1" />
<field name="date">2012-04-25</field>
<field name="value">2756</field>
</record>
<record id="log_fuel_5" model="fleet.vehicle.log.fuel">
<field name="purchaser_id" ref="base.res_partner_2" />
<field name="vehicle_id" ref="vehicle_1" />
@ -2206,10 +2236,16 @@ gg==
<field name="price_per_liter">1.35</field>
<field name="amount">54</field>
<field name="inv_ref">55488</field>
<field name="value">2756</field>
<field name="odometer_id" ref="log_odometer_5" />
<field name="notes">Some notes</field>
</record>
<record id="log_odometer_6" model="fleet.vehicle.odometer">
<field name="vehicle_id" ref="vehicle_1" />
<field name="date">2012-05-15</field>
<field name="value">3410</field>
</record>
<record id="log_fuel_6" model="fleet.vehicle.log.fuel">
<field name="purchaser_id" ref="base.res_partner_2" />
<field name="vehicle_id" ref="vehicle_1" />
@ -2219,10 +2255,16 @@ gg==
<field name="price_per_liter">1.35</field>
<field name="amount">75.33</field>
<field name="inv_ref">4952</field>
<field name="value">3410</field>
<field name="odometer_id" ref="log_odometer_6" />
<field name="notes">Some notes</field>
</record>
<record id="log_odometer_7" model="fleet.vehicle.odometer">
<field name="vehicle_id" ref="vehicle_1" />
<field name="date">2012-06-11</field>
<field name="value">3750</field>
</record>
<record id="log_fuel_7" model="fleet.vehicle.log.fuel">
<field name="purchaser_id" ref="base.res_partner_2" />
<field name="vehicle_id" ref="vehicle_1" />
@ -2232,10 +2274,16 @@ gg==
<field name="price_per_liter">1.35</field>
<field name="amount">75.33</field>
<field name="inv_ref">4952</field>
<field name="value">3750</field>
<field name="odometer_id" ref="log_odometer_7" />
<field name="notes">Some notes</field>
</record>
<record id="log_odometer_8" model="fleet.vehicle.odometer">
<field name="vehicle_id" ref="vehicle_1" />
<field name="date">2012-07-02</field>
<field name="value">4115</field>
</record>
<record id="log_fuel_8" model="fleet.vehicle.log.fuel">
<field name="purchaser_id" ref="base.res_partner_2" />
<field name="vehicle_id" ref="vehicle_1" />
@ -2245,10 +2293,16 @@ gg==
<field name="price_per_liter">1.35</field>
<field name="amount">64.53</field>
<field name="inv_ref">15151</field>
<field name="value">4115</field>
<field name="odometer_id" ref="log_odometer_8" />
<field name="notes">Some notes</field>
</record>
<record id="log_odometer_9" model="fleet.vehicle.odometer">
<field name="vehicle_id" ref="vehicle_1" />
<field name="date">2012-07-28</field>
<field name="value">4750</field>
</record>
<record id="log_fuel_9" model="fleet.vehicle.log.fuel">
<field name="purchaser_id" ref="base.res_partner_2" />
<field name="vehicle_id" ref="vehicle_1" />
@ -2258,10 +2312,16 @@ gg==
<field name="price_per_liter">1.35</field>
<field name="amount">33.75</field>
<field name="inv_ref">874195</field>
<field name="value">4750</field>
<field name="odometer_id" ref="log_odometer_9" />
<field name="notes">Some notes</field>
</record>
<record id="log_odometer_10" model="fleet.vehicle.odometer">
<field name="vehicle_id" ref="vehicle_1" />
<field name="date">2012-08-17</field>
<field name="value">5171</field>
</record>
<record id="log_fuel_10" model="fleet.vehicle.log.fuel">
<field name="purchaser_id" ref="base.res_partner_2" />
<field name="vehicle_id" ref="vehicle_1" />
@ -2271,10 +2331,16 @@ gg==
<field name="price_per_liter">1.35</field>
<field name="amount">69.12</field>
<field name="inv_ref">4431</field>
<field name="value">5171</field>
<field name="odometer_id" ref="log_odometer_10" />
<field name="notes">Some notes</field>
</record>
<record id="log_odometer_11" model="fleet.vehicle.odometer">
<field name="vehicle_id" ref="vehicle_1" />
<field name="date">2012-09-11</field>
<field name="value">5873</field>
</record>
<record id="log_fuel_11" model="fleet.vehicle.log.fuel">
<field name="purchaser_id" ref="base.res_partner_2" />
<field name="vehicle_id" ref="vehicle_1" />
@ -2284,10 +2350,16 @@ gg==
<field name="price_per_liter">1.35</field>
<field name="amount">61.236</field>
<field name="inv_ref">11234</field>
<field name="value">5873</field>
<field name="odometer_id" ref="log_odometer_11" />
<field name="notes">Some notes</field>
</record>
<record id="log_odometer_12" model="fleet.vehicle.odometer">
<field name="vehicle_id" ref="vehicle_1" />
<field name="date">2012-10-06</field>
<field name="value">6571</field>
</record>
<record id="log_fuel_12" model="fleet.vehicle.log.fuel">
<field name="purchaser_id" ref="base.res_partner_2" />
<field name="vehicle_id" ref="vehicle_1" />
@ -2297,10 +2369,16 @@ gg==
<field name="price_per_liter">1.37</field>
<field name="amount">73.158</field>
<field name="inv_ref">798846</field>
<field name="value">6571</field>
<field name="odometer_id" ref="log_odometer_12" />
<field name="notes">Some notes</field>
</record>
<record id="log_odometer_13" model="fleet.vehicle.odometer">
<field name="vehicle_id" ref="vehicle_1" />
<field name="date">2012-11-02</field>
<field name="value">7954</field>
</record>
<record id="log_fuel_13" model="fleet.vehicle.log.fuel">
<field name="purchaser_id" ref="base.res_partner_2" />
<field name="vehicle_id" ref="vehicle_1" />
@ -2310,10 +2388,16 @@ gg==
<field name="price_per_liter">1.37</field>
<field name="amount">66.445</field>
<field name="inv_ref">7954</field>
<field name="value">7292</field>
<field name="odometer_id" ref="log_odometer_13" />
<field name="notes">Some notes</field>
</record>
<record id="log_odometer_14" model="fleet.vehicle.odometer">
<field name="vehicle_id" ref="vehicle_1" />
<field name="date">2012-12-02</field>
<field name="value">7981</field>
</record>
<record id="log_fuel_14" model="fleet.vehicle.log.fuel">
<field name="purchaser_id" ref="base.res_partner_2" />
<field name="vehicle_id" ref="vehicle_1" />
@ -2323,10 +2407,16 @@ gg==
<field name="price_per_liter">1.4</field>
<field name="amount">49</field>
<field name="inv_ref">545</field>
<field name="value">7981</field>
<field name="odometer_id" ref="log_odometer_14" />
<field name="notes">Some notes</field>
</record>
<record id="log_odometer_15" model="fleet.vehicle.odometer">
<field name="vehicle_id" ref="vehicle_2" />
<field name="date">2012-01-01</field>
<field name="value">0</field>
</record>
<record id="log_fuel_15" model="fleet.vehicle.log.fuel">
<field name="purchaser_id" ref="base.res_partner_2" />
<field name="vehicle_id" ref="vehicle_2" />
@ -2336,10 +2426,16 @@ gg==
<field name="price_per_liter">1.3</field>
<field name="amount">52</field>
<field name="inv_ref">67458</field>
<field name="value">0</field>
<field name="odometer_id" ref="log_odometer_15" />
<field name="notes">First refueling</field>
</record>
<record id="log_odometer_16" model="fleet.vehicle.odometer">
<field name="vehicle_id" ref="vehicle_2" />
<field name="date">2012-02-11</field>
<field name="value">658</field>
</record>
<record id="log_fuel_16" model="fleet.vehicle.log.fuel">
<field name="purchaser_id" ref="base.res_partner_2" />
<field name="vehicle_id" ref="vehicle_2" />
@ -2349,10 +2445,16 @@ gg==
<field name="price_per_liter">1.3</field>
<field name="amount">65</field>
<field name="inv_ref">455812</field>
<field name="value">658</field>
<field name="odometer_id" ref="log_odometer_16" />
<field name="notes">Second refueling of the car</field>
</record>
<record id="log_odometer_17" model="fleet.vehicle.odometer">
<field name="vehicle_id" ref="vehicle_2" />
<field name="date">2012-03-23</field>
<field name="value">1360</field>
</record>
<record id="log_fuel_17" model="fleet.vehicle.log.fuel">
<field name="purchaser_id" ref="base.res_partner_2" />
<field name="vehicle_id" ref="vehicle_2" />
@ -2362,10 +2464,16 @@ gg==
<field name="price_per_liter">1.32</field>
<field name="amount">59.4</field>
<field name="inv_ref">45199877</field>
<field name="value">1360</field>
<field name="odometer_id" ref="log_odometer_17" />
<field name="notes">Some notes ...</field>
</record>
<record id="log_odometer_18" model="fleet.vehicle.odometer">
<field name="vehicle_id" ref="vehicle_2" />
<field name="date">2012-04-5</field>
<field name="value">2044</field>
</record>
<record id="log_fuel_18" model="fleet.vehicle.log.fuel">
<field name="purchaser_id" ref="base.res_partner_2" />
<field name="vehicle_id" ref="vehicle_2" />
@ -2375,10 +2483,16 @@ gg==
<field name="price_per_liter">1.32</field>
<field name="amount">72.6</field>
<field name="inv_ref">654</field>
<field name="value">2044</field>
<field name="odometer_id" ref="log_odometer_18" />
<field name="notes">Some notes</field>
</record>
<record id="log_odometer_19" model="fleet.vehicle.odometer">
<field name="vehicle_id" ref="vehicle_2" />
<field name="date">2012-04-25</field>
<field name="value">2756</field>
</record>
<record id="log_fuel_19" model="fleet.vehicle.log.fuel">
<field name="purchaser_id" ref="base.res_partner_2" />
<field name="vehicle_id" ref="vehicle_2" />
@ -2388,10 +2502,16 @@ gg==
<field name="price_per_liter">1.35</field>
<field name="amount">54</field>
<field name="inv_ref">55488</field>
<field name="value">2756</field>
<field name="odometer_id" ref="log_odometer_19" />
<field name="notes">Some notes</field>
</record>
<record id="log_odometer_20" model="fleet.vehicle.odometer">
<field name="vehicle_id" ref="vehicle_2" />
<field name="date">2012-05-15</field>
<field name="value">3410</field>
</record>
<record id="log_fuel_20" model="fleet.vehicle.log.fuel">
<field name="purchaser_id" ref="base.res_partner_2" />
<field name="vehicle_id" ref="vehicle_2" />
@ -2401,10 +2521,16 @@ gg==
<field name="price_per_liter">1.35</field>
<field name="amount">75.33</field>
<field name="inv_ref">4952</field>
<field name="value">3410</field>
<field name="odometer_id" ref="log_odometer_20" />
<field name="notes">Some notes</field>
</record>
<record id="log_odometer_21" model="fleet.vehicle.odometer">
<field name="vehicle_id" ref="vehicle_2" />
<field name="date">2012-06-11</field>
<field name="value">3750</field>
</record>
<record id="log_fuel_21" model="fleet.vehicle.log.fuel">
<field name="purchaser_id" ref="base.res_partner_2" />
<field name="vehicle_id" ref="vehicle_2" />
@ -2414,10 +2540,16 @@ gg==
<field name="price_per_liter">1.35</field>
<field name="amount">75.33</field>
<field name="inv_ref">4952</field>
<field name="value">3750</field>
<field name="odometer_id" ref="log_odometer_21" />
<field name="notes">Some notes</field>
</record>
<record id="log_odometer_22" model="fleet.vehicle.odometer">
<field name="vehicle_id" ref="vehicle_2" />
<field name="date">2012-07-02</field>
<field name="value">4115</field>
</record>
<record id="log_fuel_22" model="fleet.vehicle.log.fuel">
<field name="purchaser_id" ref="base.res_partner_2" />
<field name="vehicle_id" ref="vehicle_2" />
@ -2427,10 +2559,16 @@ gg==
<field name="price_per_liter">1.35</field>
<field name="amount">64.53</field>
<field name="inv_ref">15151</field>
<field name="value">4115</field>
<field name="odometer_id" ref="log_odometer_22" />
<field name="notes">Some notes</field>
</record>
<record id="log_odometer_23" model="fleet.vehicle.odometer">
<field name="vehicle_id" ref="vehicle_2" />
<field name="date">2012-07-28</field>
<field name="value">4750</field>
</record>
<record id="log_fuel_23" model="fleet.vehicle.log.fuel">
<field name="purchaser_id" ref="base.res_partner_2" />
<field name="vehicle_id" ref="vehicle_2" />
@ -2440,10 +2578,16 @@ gg==
<field name="price_per_liter">1.35</field>
<field name="amount">33.75</field>
<field name="inv_ref">874195</field>
<field name="value">4750</field>
<field name="odometer_id" ref="log_odometer_23" />
<field name="notes">Some notes</field>
</record>
<record id="log_odometer_24" model="fleet.vehicle.odometer">
<field name="vehicle_id" ref="vehicle_2" />
<field name="date">2012-08-17</field>
<field name="value">5171</field>
</record>
<record id="log_fuel_24" model="fleet.vehicle.log.fuel">
<field name="purchaser_id" ref="base.res_partner_2" />
<field name="vehicle_id" ref="vehicle_2" />
@ -2453,10 +2597,16 @@ gg==
<field name="price_per_liter">1.35</field>
<field name="amount">69.12</field>
<field name="inv_ref">4431</field>
<field name="value">5171</field>
<field name="odometer_id" ref="log_odometer_24" />
<field name="notes">Some notes</field>
</record>
<record id="log_odometer_25" model="fleet.vehicle.odometer">
<field name="vehicle_id" ref="vehicle_2" />
<field name="date">2012-09-11</field>
<field name="value">5873</field>
</record>
<record id="log_fuel_25" model="fleet.vehicle.log.fuel">
<field name="purchaser_id" ref="base.res_partner_2" />
<field name="vehicle_id" ref="vehicle_2" />
@ -2466,10 +2616,16 @@ gg==
<field name="price_per_liter">1.35</field>
<field name="amount">61.236</field>
<field name="inv_ref">11234</field>
<field name="value">5873</field>
<field name="odometer_id" ref="log_odometer_25" />
<field name="notes">Some notes</field>
</record>
<record id="log_odometer_26" model="fleet.vehicle.odometer">
<field name="vehicle_id" ref="vehicle_2" />
<field name="date">2012-10-06</field>
<field name="value">6571</field>
</record>
<record id="log_fuel_26" model="fleet.vehicle.log.fuel">
<field name="purchaser_id" ref="base.res_partner_2" />
<field name="vehicle_id" ref="vehicle_2" />
@ -2479,10 +2635,16 @@ gg==
<field name="price_per_liter">1.37</field>
<field name="amount">73.158</field>
<field name="inv_ref">798846</field>
<field name="value">6571</field>
<field name="odometer_id" ref="log_odometer_26" />
<field name="notes">Some notes</field>
</record>
<record id="log_odometer_27" model="fleet.vehicle.odometer">
<field name="vehicle_id" ref="vehicle_2" />
<field name="date">2012-11-02</field>
<field name="value">7292</field>
</record>
<record id="log_fuel_27" model="fleet.vehicle.log.fuel">
<field name="purchaser_id" ref="base.res_partner_2" />
<field name="vehicle_id" ref="vehicle_2" />
@ -2492,10 +2654,16 @@ gg==
<field name="price_per_liter">1.37</field>
<field name="amount">66.445</field>
<field name="inv_ref">7954</field>
<field name="value">7292</field>
<field name="odometer_id" ref="log_odometer_27" />
<field name="notes">Some notes</field>
</record>
<record id="log_odometer_28" model="fleet.vehicle.odometer">
<field name="vehicle_id" ref="vehicle_2" />
<field name="date">2012-12-02</field>
<field name="value">7981</field>
</record>
<record id="log_fuel_28" model="fleet.vehicle.log.fuel">
<field name="purchaser_id" ref="base.res_partner_2" />
<field name="vehicle_id" ref="vehicle_2" />
@ -2505,10 +2673,16 @@ gg==
<field name="price_per_liter">1.4</field>
<field name="amount">49</field>
<field name="inv_ref">545</field>
<field name="value">7981</field>
<field name="odometer_id" ref="log_odometer_28" />
<field name="notes">Some notes</field>
</record>
<record id="log_odometer_29" model="fleet.vehicle.odometer">
<field name="vehicle_id" ref="vehicle_1" />
<field name="date">2012-10-01</field>
<field name="value">1000</field>
</record>
<record id="log_service_1" model="fleet.vehicle.log.services">
<field name="vehicle_id" ref="vehicle_1" />
<field name="purchaser_id" ref="base.res_partner_2" />
@ -2517,7 +2691,7 @@ gg==
<field name="amount">500.0</field>
<field name="service_ids" eval="[(6,0,[ref('type_service_53')])]" />
<field name="inv_ref">4574.2321</field>
<field name="value">1000</field>
<field name="odometer_id" ref="log_odometer_29" />
<field name="notes">Usual car maintenance</field>
</record>

View File

@ -15,10 +15,16 @@ class fleet_vehicle_cost(osv.Model):
_name = 'fleet.vehicle.cost'
_description = 'Cost of vehicle'
_columns = {
'price': fields.float('Price'),
'type': fields.many2one('fleet.service.type', 'Service type', required=True, help='Service type purchased with this cost'),
'vehicle_id': fields.many2one('fleet.vehicle', 'Vehicle', required=True, help='Vehicle concerned by this cost'),
'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'),
}
def create(self, cr, uid, data, context=None):
if 'parent_id' in data:
data['vehicle_id'] = self.browse(cr, uid, data['parent_id'], context=context).vehicle_id.id
cost_id = super(fleet_vehicle_cost, self).create(cr, uid, data, context=context)
return cost_id
############################
############################
@ -468,6 +474,7 @@ class fleet_vehicle_odometer(osv.Model):
class fleet_vehicle_log_fuel(osv.Model):
#_inherits = {'fleet.vehicle.odometer': 'odometer_id'}
_inherits = {'fleet.vehicle.cost': 'cost_id'}
def on_change_vehicle(self, cr, uid, ids, vehicle_id, context=None):
@ -478,7 +485,7 @@ class fleet_vehicle_log_fuel(osv.Model):
return {
'value' : {
'unit' : odometer_unit,
'odometer_unit' : odometer_unit,
}
}
@ -548,11 +555,9 @@ class fleet_vehicle_log_fuel(osv.Model):
_columns = {
#'name' : fields.char('Name',size=64),
'vehicle_id': fields.many2one('fleet.vehicle', 'Vehicle', required=True, help='Vehicle concerned by this fuel log'),
'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'),
'amount': fields.float('Total price'),
'purchaser_id' : fields.many2one('res.partner', 'Purchaser',domain="['|',('customer','=',True),('employee','=',True)]"),
'inv_ref' : fields.char('Invoice Reference', size=64),
'vendor_id' : fields.many2one('res.partner', 'Supplier', domain="[('supplier','=',True)]"),
@ -564,6 +569,7 @@ class fleet_vehicle_log_fuel(osv.Model):
_defaults = {
'purchaser_id': lambda self, cr, uid, ctx: uid,
'date' : time.strftime('%Y-%m-%d'),
}
############################
@ -575,6 +581,8 @@ class fleet_vehicle_log_fuel(osv.Model):
class fleet_vehicle_log_services(osv.Model):
_inherits = {'fleet.vehicle.cost': 'cost_id'}
def on_change_vehicle(self, cr, uid, ids, vehicle_id, context=None):
if not vehicle_id:
@ -618,10 +626,9 @@ class fleet_vehicle_log_services(osv.Model):
_columns = {
#'name' : fields.char('Name',size=64),
'vehicle_id': fields.many2one('fleet.vehicle', 'Vehicle', required=True, help='Vehicle concerned by this services log'),
'date' :fields.date('Service Date',help='Date when the service will be/has been performed'),
'amount' :fields.float('Cost', help="Total cost of the service"),
'service_ids' :fields.many2many('fleet.service.type','fleet_vehicle_service_type_rel','vehicle_service_type_id','service_id','Services completed'),
'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),
'vendor_id' :fields.many2one('res.partner', 'Supplier', domain="[('supplier','=',True)]"),
@ -655,6 +662,8 @@ class fleet_service_type(osv.Model):
############################
class fleet_vehicle_log_contract(osv.Model):
_inherits = {'fleet.vehicle.cost': 'cost_id'}
def _get_odometer(self, cr, uid, ids, odometer_id, arg, context):
res = dict.fromkeys(ids, False)
@ -737,20 +746,19 @@ class fleet_vehicle_log_contract(osv.Model):
_columns = {
#'name' : fields.char('Name',size=64),
'vehicle_id': fields.many2one('fleet.vehicle', 'Vehicle', required=True, help='Vehicle concerned by this contract log'),
'date' :fields.date('Contract Date',help='Date when the contract has been signed'),
'contract_type' : fields.many2one('fleet.contract.type', 'Type', required=False, help='Type of the contract'),
'start_date' : fields.date('Start Date', required=False, help='Date when the coverage of the contract begins'),
'expiration_date' : fields.date('Expiration Date', required=False, help='Date when the coverage of the contract expirates (by default, one year after begin date)'),
'warning_date' : fields.function(get_warning_date,type='integer',string='Warning Date',store=False),
'price' : fields.float('Price', help="Cost of the contract for the specified period"),
'insurer_id' :fields.many2one('res.partner', 'Insurer', domain="[('supplier','=',True)]"),
'purchaser_id' : fields.many2one('res.partner', 'Purchaser',domain="['|',('customer','=',True),('employee','=',True)]"),
'ins_ref' : fields.char('Contract Reference', size=64),
'state' : fields.selection([('open', 'In Progress'), ('closed', 'Terminated')], 'Status', readonly=True, help='Choose wheter the contract is still valid or not'),
'reminder' : fields.boolean('Renewal Reminder', help="Warn the user when this contract needs to be renewed"),
'notes' : fields.text('Terms and Conditions'),
'costs' : fields.one2many('fleet.vehicle.cost', 'vehicle_id', 'Costs covered'),
'costs' : fields.one2many('fleet.vehicle.cost', 'parent_id', 'Costs covered'),
'odometer_id' : fields.many2one('fleet.vehicle.odometer', 'Odometer', required=False, help='Odometer measure of the vehicle at the moment of this log'),
'odometer' : fields.function(_get_odometer,fnct_inv=_set_odometer,type='char',string='Odometer',store=False),

View File

@ -351,48 +351,50 @@
<field name="state" widget="statusbar" />
</header>
<sheet>
<group string="Contract details" col="2">
<group >
<field name="vehicle_id" on_change="on_change_vehicle(vehicle_id)"/>
<field name="contract_type" />
<field name="price" />
<field name="insurer_id" />
</group>
<group>
<field name="date" />
<field name="start_date" on_change="on_change_start_date(start_date)"/>
<field name="expiration_date" />
<field name="ins_ref" />
<field name="reminder" />
</group>
</group>
<group>
<field name="costs" >
<tree string="Costs" version="7.0">
<field name="type" />
<field name="price" />
</tree>
<form string="Costs" version="7.0">
<sheet>
<group>
<field name="type" />
<field name="price" />
</group>
</sheet>
</form>
</field>
</group>
<group col="2">
<group string="Contract details">
<field name="vehicle_id" on_change="on_change_vehicle(vehicle_id)"/>
<field name="cost_type" />
</group>
<group string="Odometer details">
<div>
<field name="odometer" class="oe_inline"/>
<field name="odometer_unit" class="oe_inline"/>
</div>
</group>
<group></group>
</group>
<group string="Terms and Conditions"></group>
<field name="notes" />
<group col="2">
<group>
<field name="date" />
<field name="start_date" on_change="on_change_start_date(start_date)"/>
<field name="expiration_date" />
<field name="reminder" />
</group>
<group>
<field name="insurer_id" />
<field name="ins_ref" />
</group>
</group>
<group>
<field name="costs" context="{'vehicle_id': vehicle_id}">
<tree string="Costs" version="7.0">
<field name="cost_type" />
<field name="amount" />
</tree>
<form string="Costs" version="7.0">
<sheet>
<group>
<field name="cost_type" />
<field name="amount" />
</group>
</sheet>
</form>
</field>
<field name="amount" />
</group>
<group string="Terms and Conditions">
<field name="notes" />
</group>
</sheet>
</form>
</field>
@ -404,13 +406,13 @@
<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="contract_type" />
<field name="cost_type" />
<field name="state" />
<field name="start_date" />
<field name="expiration_date" />
<field name="warning_date" invisible="1"/>
<field name="insurer_id" />
<field name="price" />
<field name="amount" />
<field name="notes" />
</tree>
@ -570,18 +572,31 @@
<group string="Vehicle Details">
<field name="vehicle_id" on_change="on_change_vehicle(vehicle_id)"/>
</group>
<group string="Services Details">
<field name="service_ids" widget="many2many_tags"/>
<field name="amount" />
</group>
</group>
<group col="2">
<group string="Odometer Details">
<div>
<field name="odometer" class="oe_inline"/>
<field name="odometer_unit" class="oe_inline"/>
</div>
</group>
</group>
<group string="Service Details">
<field name="service_ids">
<tree string="Services" version="7.0">
<field name="cost_type" />
<field name="amount" />
</tree>
<form string="Services" version="7.0">
<sheet>
<group>
<field name="cost_type" />
<field name="amount" />
</group>
</sheet>
</form>
</field>
<field name="amount" />
</group>
<group col="2">
<group string="Additional Details">
<field name="date" />
<field name="purchaser_id" />
@ -603,7 +618,7 @@
<field name="arch" type="xml">
<tree string="Services Logs">
<field name="vehicle_id" />
<field name="service_ids" widget="many2many_tags"/>
<field name="service_ids"/>
<field name="amount" />
<field name="date" />
<field name="purchaser_id" />