[ADD][FIX]Add services logs and fix relation between driver and his vehicles
bzr revid: dle@openerp.com-20120924125111-7g3wheu0689pw4nv
This commit is contained in:
+19
-4
@@ -78,6 +78,7 @@ class fleet_vehicle(osv.Model):
|
||||
'model_id' : fields.many2one('fleet.vehicle.model', 'Model', required=True, help='Model of the vehicle'),
|
||||
'log_ids' : fields.one2many('fleet.vehicle.log', 'vehicle_id', 'Logs'),
|
||||
'log_fuel' : fields.one2many('fleet.vehicle.log.fuel','vehicle_id', 'Fuel Logs'),
|
||||
'log_services' : fields.one2many('fleet.vehicle.log.services','vehicle_id', 'Services Logs'),
|
||||
'acquisition_date' : fields.date('Acquisition date', required=False, help='Date when the vehicle has been bought'),
|
||||
'acquisition_price' : fields.integer('Price', help='Price of the bought vehicle'),
|
||||
'color' : fields.char('Color',size=32, help='Color of the vehicle'),
|
||||
@@ -85,8 +86,6 @@ class fleet_vehicle(osv.Model):
|
||||
'location' : fields.char('Location',size=32, help='Location of the vehicle (garage, ...)'),
|
||||
'doors' : fields.integer('Number of doors', help='Number of doors of the vehicle'),
|
||||
|
||||
'next_repair_km' : fields.integer('Next Repair Km'),
|
||||
|
||||
'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),
|
||||
@@ -179,17 +178,33 @@ class fleet_vehicle_log_insurance(osv.Model):
|
||||
'description' : fields.text('Description'),
|
||||
}
|
||||
|
||||
class service_type(osv.Model):
|
||||
_name = 'fleet.service.type'
|
||||
_columns = {
|
||||
'name': fields.char('Name', required=True, translate=True),
|
||||
}
|
||||
|
||||
class fleet_vehicle_log_services(osv.Model):
|
||||
def _compute_complete_service(self, cr, uid, ids, field, arg, context=None):
|
||||
return dict(
|
||||
(record.id, " ".join(service.name for service in record.service_ids))
|
||||
for record in self.browse(cr, uid, ids, context=context)
|
||||
)
|
||||
_inherit = 'fleet.vehicle.log'
|
||||
_name = 'fleet.vehicle.log.services'
|
||||
_columns = {
|
||||
'description' : fields.text('Description'),
|
||||
'vehicle_id' :fields.many2one('fleet.vehicle', 'Vehicle', required=True),
|
||||
'vendor_id' :fields.many2one('res.partner', 'Vendor', domain="[('supplier','=',True)]"),
|
||||
'amount' :fields.float('Amount', help="Total cost of the service"),
|
||||
'reference' :fields.char('Reference',size=128),
|
||||
'service_ids' :fields.many2many('fleet.service.type','vehicle_service_type_rel','vehicle_service_type_id','service_id','Services completed'),
|
||||
'complete_service': fields.function(_compute_complete_service, type="char", string='Services completed'),
|
||||
}
|
||||
|
||||
class hr_employee(osv.Model):
|
||||
_inherit = 'hr.employee'
|
||||
|
||||
_columns = {
|
||||
'vehicle_id' : fields.many2one('fleet.vehicle', 'Vehicle', required=True),
|
||||
'vehicle_id' : fields.one2many('fleet.vehicle','driver', 'Vehicle',type="char"),
|
||||
'log_ids' : fields.one2many('fleet.vehicle.log', 'employee_id', 'Logs'),
|
||||
}
|
||||
@@ -89,8 +89,31 @@
|
||||
</group>
|
||||
</group>
|
||||
<notebook>
|
||||
<page string="Repairing">
|
||||
<field name="next_repair_km" />
|
||||
<page string="Services">
|
||||
<field name="log_services">
|
||||
<tree string="Services Logs">
|
||||
<field name="create_date" />
|
||||
<field name="employee_id" />
|
||||
<field name="vendor_id" />
|
||||
<field name="amount" />
|
||||
<field name="reference" />
|
||||
<field name="service_ids" />
|
||||
<field name="complete_service" />
|
||||
</tree>
|
||||
<form string="Fuel Logs" version="7.0">
|
||||
<sheet>
|
||||
<group>
|
||||
<field name="create_date" />
|
||||
<field name="employee_id" />
|
||||
<field name="vendor_id" />
|
||||
<field name="amount" />
|
||||
<field name="reference" />
|
||||
<field name="service_ids" />
|
||||
<field name="complete_service" />
|
||||
</group>
|
||||
</sheet>
|
||||
</form>
|
||||
</field>
|
||||
</page>
|
||||
<page string="Fuel Logs">
|
||||
<field name="log_fuel">
|
||||
@@ -169,6 +192,7 @@
|
||||
<tree string="Vehicle" version="7.0">
|
||||
<field name="registration" />
|
||||
<field name="model_id" />
|
||||
<field name="driver" />
|
||||
<field name="vin_sn" />
|
||||
<field name="acquisition_date" />
|
||||
</tree>
|
||||
@@ -236,7 +260,7 @@
|
||||
<notebook position="inside">
|
||||
<page string="Vehicle">
|
||||
<group>
|
||||
<field name="vehicle_id" />
|
||||
<field name="vehicle_id" widget="many2many_tags"/>
|
||||
</group>
|
||||
</page>
|
||||
</notebook>
|
||||
|
||||
Reference in New Issue
Block a user