diff --git a/addons/fleet/fleet.py b/addons/fleet/fleet.py index 2ad6a15ff14..7e5eeade941 100644 --- a/addons/fleet/fleet.py +++ b/addons/fleet/fleet.py @@ -558,6 +558,29 @@ class fleet_vehicle_log_contract(osv.Model): else: return {} + def str_to_date(self,strdate): + return datetime.datetime(int(strdate[:4]),int(strdate[5:7]),int(strdate[8:])) + + def get_warning_date(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: + if (record.state): + if (record.expiration_date and record.state.name=='In Progress'): + today=self.str_to_date(time.strftime('%Y-%m-%d')) + renew_date = self.str_to_date(record.expiration_date) + diff_time=int((renew_date-today).days) + res.append((record.id,diff_time)) + else: + res.append((record.id,0)) + else: + res.append((record.id,0)) + return dict(res) + _name = 'fleet.vehicle.log.contract' _order='state,expiration_date' _columns = { @@ -567,6 +590,7 @@ class fleet_vehicle_log_contract(osv.Model): '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)]"), @@ -578,7 +602,6 @@ class fleet_vehicle_log_contract(osv.Model): _defaults = { 'purchaser_id': lambda self, cr, uid, ctx: uid, 'start_date' : time.strftime('%Y-%m-%d'), - #'state' : 'in_progress', #'expiration_date' : self.compute_next_year_date(time.strftime('%Y-%m-%d')), } diff --git a/addons/fleet/fleet_view.xml b/addons/fleet/fleet_view.xml index b6406e77fb2..68e552e0a3c 100644 --- a/addons/fleet/fleet_view.xml +++ b/addons/fleet/fleet_view.xml @@ -401,12 +401,13 @@ fleet.vehicle.log.contract.tree fleet.vehicle.log.contract - + +