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'),