diff --git a/addons/fleet/__openerp__.py b/addons/fleet/__openerp__.py
index a95d2613c64..8eceaf3fe12 100644
--- a/addons/fleet/__openerp__.py
+++ b/addons/fleet/__openerp__.py
@@ -27,7 +27,9 @@ Add insurance and services reminder that will help you by sending you a mail whe
'data.xml',
],
'update_xml' : ['security/ir.model.access.csv'],
+
'demo': ['cars.xml','demo.xml'],
+
'installable' : True,
'application' : True,
}
\ No newline at end of file
diff --git a/addons/fleet/fleet.py b/addons/fleet/fleet.py
index d9b40804ed4..b02c05a7c78 100644
--- a/addons/fleet/fleet.py
+++ b/addons/fleet/fleet.py
@@ -40,15 +40,23 @@ class fleet_vehicle_cost(osv.Model):
_columns = {
'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'),
'amount': fields.float('Total Price'),
+
'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'),
+
'date' :fields.date('Cost Date',help='Date when the cost has been executed'),
}
+ _default ={
+ 'parent_id':None,
+ }
+
+
+
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
@@ -322,20 +330,6 @@ class fleet_vehicle(osv.Model):
res.append((record.id,0))
return dict(res)
- def get_next_service_reminder(self,cr,uid,ids,prop,unknow_none,context=None):
- if context is None:
- context={}
- if not ids:
- return dict([])
- reads = self.browse(cr,uid,ids,context=context)
- res=[]
- for record in reads:
- services = self.pool.get('fleet.vehicle.log.services').search(cr,uid,[('vehicle_id','=',record.id)],order='date')
- if (len(services) > 0):
- res.append((record.id,self.pool.get('fleet.vehicle.log.services').browse(cr,uid,services[0],context=context).date))
- else:
- res.append((record.id,None))
- return dict(res)
_name = 'fleet.vehicle'
_description = 'Fleet Vehicle'
@@ -376,8 +370,7 @@ class fleet_vehicle(osv.Model):
'contract_renewal_due_soon' : fields.function(get_next_contract_reminder,type="integer",string='Contract Renewal Due Soon',store=False),
'contract_renewal_overdue' : fields.function(get_overdue_contract_reminder,type="integer",string='Contract Renewal Overdue',store=False),
- 'next_service_date' : fields.function(get_next_service_reminder,type="date",string='Next Service Due Date',store=False),
-
+
'car_value': fields.float('Car value', help='Value of the bought vehicle'),
'leasing_value': fields.float('Leasing value',help='Value of the leasing(Monthly, usually'),
}
@@ -387,7 +380,13 @@ class fleet_vehicle(osv.Model):
'odometer_unit' : 'kilometers',
}
-
+ def copy(self, cr, uid, id, default=None, context=None):
+ if not default:
+ default = {}
+ #default.update({
+ # 'name': self.pool.get('ir.sequence').get(cr, uid, 'stock.orderpoint') or '',
+ #})
+ return super(fleet_vehicle, self).copy(cr, uid, id, default, context=context)
def on_change_model(self, cr, uid, ids, model_id, context=None):
@@ -825,6 +824,29 @@ class fleet_vehicle_log_contract(osv.Model):
}
+ def copy(self, cr, uid, id, default=None, context=None):
+ default = default or {}
+ current_object = self.browse(cr,uid,id,context)
+ default['start_date'] = time.strftime('%Y-%m-%d')
+ default['expiration_date'] = self.compute_next_year_date(time.strftime('%Y-%m-%d'))
+ #default['name'] = current_object.name
+ default['insurer_id']= current_object.insurer_id
+ default['purchaser_id'] = current_object.purchaser_id
+ default['ins_ref'] = ''
+ default['state'] = 'open'
+ default['notes'] = ''
+ default['costs'] = current_object.costs
+ default['odometer_id'] = current_object.odometer_id
+ default['vehicle_id'] = current_object.vehicle_id
+ default['cost_type'] = current_object.cost_type
+ default['amount'] = current_object.amount
+ default['parent_id'] = current_object.parent_id
+ default['date'] = time.strftime('%Y-%m-%d')
+
+ #default['odometer'] = current_object.odometer
+ #default['odometer_unit'] = current_object.odometer_unit
+ return super(fleet_vehicle_log_contract, self).copy(cr, uid, id, default, context=context)
+
def contract_close(self, cr, uid, ids, *args):
self.write(cr, uid, ids, {'state': 'closed'})
return True
diff --git a/addons/fleet/fleet_view.xml b/addons/fleet/fleet_view.xml
index 8e770ffe2c6..fb2074d3fcc 100644
--- a/addons/fleet/fleet_view.xml
+++ b/addons/fleet/fleet_view.xml
@@ -242,7 +242,6 @@
-
@@ -291,13 +290,13 @@
-
+
Contract Renewal
-
+
Contract Renewal
@@ -316,7 +315,6 @@
-
@@ -603,8 +601,8 @@
-
+
@@ -802,9 +800,6 @@
-
-
-
diff --git a/addons/fleet/static/src/img/icon.png b/addons/fleet/static/src/img/icon.png
index 8600d565da5..4855fa31590 100644
Binary files a/addons/fleet/static/src/img/icon.png and b/addons/fleet/static/src/img/icon.png differ