From d1df20718e4447a20f8e17d140d90cb5c1658682 Mon Sep 17 00:00:00 2001 From: "Denis Ledoux dle@openerp.com" <> Date: Fri, 5 Oct 2012 16:05:18 +0200 Subject: [PATCH] [ADD]Cron job to post on the wall vehicles renewals bzr revid: dle@openerp.com-20121005140518-ijv5oplcksoo0rwt --- addons/fleet/data.xml | 12 ++++++++++++ addons/fleet/fleet.py | 27 +++++++++++++++++++++++---- 2 files changed, 35 insertions(+), 4 deletions(-) diff --git a/addons/fleet/data.xml b/addons/fleet/data.xml index ba3d9d308d0..e7acfc1b2cc 100644 --- a/addons/fleet/data.xml +++ b/addons/fleet/data.xml @@ -1,6 +1,18 @@ + + Creation ofVehicle Contracts and Services renewals reminders + + + 1 + minutes + -1 + + + + + A/C Compressor Replacement service diff --git a/addons/fleet/fleet.py b/addons/fleet/fleet.py index 2f88bcf12a3..53e8cf35717 100644 --- a/addons/fleet/fleet.py +++ b/addons/fleet/fleet.py @@ -273,7 +273,7 @@ class fleet_vehicle(osv.Model): def str_to_date(self,strdate): return datetime.datetime(int(strdate[:4]),int(strdate[5:7]),int(strdate[8:])) - def get_overdue_contract_reminder(self,cr,uid,ids,prop,unknow_none,context=None): + def get_overdue_contract_reminder_fnc(self,cr,uid,ids,context=None): if context is None: context={} if not ids: @@ -301,7 +301,11 @@ class fleet_vehicle(osv.Model): return dict(res) - def get_next_contract_reminder(self,cr,uid,ids,prop,unknow_none,context=None): + def get_overdue_contract_reminder(self,cr,uid,ids,prop,unknow_none,context=None): + res = self.get_overdue_contract_reminder_fnc(cr, uid, ids, context=context) + return res + + def get_next_contract_reminder_fnc(self,cr,uid,ids,context=None): if context is None: context={} if not ids: @@ -326,11 +330,26 @@ class fleet_vehicle(osv.Model): res.append((record.id,due_soon)) else: res.append((record.id,0)) - - return dict(res) + def get_next_contract_reminder(self, cr, uid, ids, prop, unknow_none, context=None): + res = self.get_next_contract_reminder_fnc(cr, uid, ids, context=context) + return res + + def run_scheduler(self,cr,uid,context=None): + ids = self.pool.get('fleet.vehicle').search(cr, uid, [], offset=0, limit=None, order=None,context=None, count=False) + nexts = self.get_next_contract_reminder_fnc(cr,uid,ids,context=context) + overdues = self.get_overdue_contract_reminder_fnc(cr,uid,ids,context=context) + for key,value in nexts.items(): + print str(key) + ' : ' + str(value) + if value > 0 and overdues[key] > 0: + self.message_post(cr, uid, [key], body=str(value) + ' contract(s) has to be renewed soon and '+str(overdues[key])+' contract(s) is (are) overdued', context=context) + elif value > 0: + self.message_post(cr, uid, [key], body=str(value) + ' contract(s) has to be renewed soon!', context=context) + elif overdues[key] > 0 : + self.message_post(cr, uid, [key], body=str(overdues.key) + ' contract(s) is(are) overdued!', context=context) + return True _name = 'fleet.vehicle' _description = 'Fleet Vehicle'