From 741bbcb6cd0c63b9fceb20fca20b10df699ea8f2 Mon Sep 17 00:00:00 2001 From: "Harry (Open ERP)" Date: Fri, 22 Jan 2010 12:32:41 +0530 Subject: [PATCH] [IMP+FIX] project: improve _proget_get method bzr revid: hmo@tinyerp.com-20100122070241-hzyes9f8y0w9k8a2 --- addons/project/project.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/addons/project/project.py b/addons/project/project.py index c97e2412744..c7dc5ece780 100644 --- a/addons/project/project.py +++ b/addons/project/project.py @@ -587,10 +587,14 @@ def _project_get(self, cr, uid, context={}): if uid==1: ids = self.pool.get('project.project').search(cr, uid, []) res = self.pool.get('project.project').read(cr, uid, ids, ['id','name'], context) - return [(str(r['id']),r['name']) for r in res] - cr.execute("""SELECT to_char(id, '99999'),name FROM project_project where manager=%s OR - id IN (SELECT project_id from project_user_rel where uid=%s)""" % (uid, uid)) - return cr.fetchall() + else: + # Take Projects only user is manager or member + cr.execute("""SELECT project.id,project.name FROM project_project project + LEFT JOIN account_analytic_account account ON account.id = project.category_id + WHERE (account.user_id = %s)""", uid) + res = cr.fetchall() + res = [(str(r['id']),r['name']) for r in res] + return res class users(osv.osv): _inherit = 'res.users'