From 601df047d71c4f7a49985d5544e2a65275930d74 Mon Sep 17 00:00:00 2001 From: "Denis Ledoux dle@openerp.com" <> Date: Fri, 19 Oct 2012 15:18:54 +0200 Subject: [PATCH] [ADD]Contract overdue and soon search functions and proud of it : D bzr revid: dle@openerp.com-20121019131854-igg3lub3myj2m4zh --- addons/fleet/board_fleet_view.xml | 1 + addons/fleet/data.xml | 2 +- addons/fleet/fleet.py | 32 ++++++++++++++++++++++++++++--- 3 files changed, 31 insertions(+), 4 deletions(-) diff --git a/addons/fleet/board_fleet_view.xml b/addons/fleet/board_fleet_view.xml index 35135f6bba4..63e244efd3e 100644 --- a/addons/fleet/board_fleet_view.xml +++ b/addons/fleet/board_fleet_view.xml @@ -57,6 +57,7 @@ form tree + ['|',('contract_renewal_due_soon','>',0),('contract_renewal_overdue','>',0)] diff --git a/addons/fleet/data.xml b/addons/fleet/data.xml index 6bb821fbfb2..07cf8062cde 100644 --- a/addons/fleet/data.xml +++ b/addons/fleet/data.xml @@ -15,7 +15,7 @@ - ATN + Calculation Benefit In Kind service diff --git a/addons/fleet/fleet.py b/addons/fleet/fleet.py index fc2935761b5..05c857941c2 100644 --- a/addons/fleet/fleet.py +++ b/addons/fleet/fleet.py @@ -47,7 +47,7 @@ class fleet_vehicle_cost(osv.Model): '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'), + 'date' :fields.date('Date',help='Date when the cost has been executed'), } _default ={ @@ -362,6 +362,32 @@ class fleet_vehicle(osv.Model): return dict(res) + def _search_get_overdue_contract_reminder(self, cr, uid, obj, name, args, context): + res = [] + for field, operator, value in args: + #assert field == name + vehicle_ids = self.search(cr, uid, []) + renew_ids = self.get_overdue_contract_reminder_fnc(cr,uid,vehicle_ids,context=context) + res_ids = [] + for renew_key,renew_value in renew_ids.items(): + if eval(str(renew_value) + " " + str(operator) + " " + str(value)): + res_ids.append(renew_key) + res.append(('id', 'in', res_ids)) + return res + + def _search_contract_renewal_due_soon(self, cr, uid, obj, name, args, context): + res = [] + for field, operator, value in args: + #assert field == name + vehicle_ids = self.search(cr, uid, []) + renew_ids = self.get_next_contract_reminder_fnc(cr,uid,vehicle_ids,context=context) + res_ids = [] + for renew_key,renew_value in renew_ids.items(): + if eval(str(renew_value) + " " + str(operator) + " " + str(value)): + res_ids.append(renew_key) + res.append(('id', 'in', res_ids)) + return 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 @@ -416,8 +442,8 @@ class fleet_vehicle(osv.Model): 'image_medium': fields.related('model_id','image_medium',type="binary",string="Logo",store=False), 'image_small': fields.related('model_id','image_small',type="binary",string="Logo",store=False), - 'contract_renewal_due_soon' : fields.function(get_next_contract_reminder,type="integer",string='Contracts to renew',store=False), - 'contract_renewal_overdue' : fields.function(get_overdue_contract_reminder,type="integer",string='Contracts Overdued',store=False), + 'contract_renewal_due_soon' : fields.function(get_next_contract_reminder,fnct_search=_search_contract_renewal_due_soon,type="integer",string='Contracts to renew',store=False), + 'contract_renewal_overdue' : fields.function(get_overdue_contract_reminder,fnct_search=_search_get_overdue_contract_reminder,type="integer",string='Contracts Overdued',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'),