From 00e95385a2269339d330f503d520229301d5ccb4 Mon Sep 17 00:00:00 2001 From: Mantavya Gajjar Date: Tue, 25 Mar 2008 11:59:36 +0000 Subject: [PATCH] Implement groups access on wizard and report action bzr revid: mga@tinyerp.com-bfcbd87dbec50e45d99e79ad4164e2d48eacf030 --- bin/addons/base/ir/ir_values.py | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/bin/addons/base/ir/ir_values.py b/bin/addons/base/ir/ir_values.py index bcb9bb9436b..21a3c284da7 100644 --- a/bin/addons/base/ir/ir_values.py +++ b/bin/addons/base/ir/ir_values.py @@ -197,7 +197,7 @@ class ir_values(osv.osv): 'and (company_id is null or company_id = %d) '\ 'ORDER BY user_id', (cid,)) result = cr.fetchall() - + def _result_get(x, keys): if x[1] in keys: return False @@ -228,7 +228,22 @@ class ir_values(osv.osv): return (x[0],x[1],datas) keys = [] res = filter(bool, map(lambda x: _result_get(x, keys), list(result))) - return res + res2 = res[:] + for r in res: + if r[2].has_key('groups_id'): + groups = r[2]['groups_id'] + if len(groups) > 0: + group_ids = ','.join([ str(x) for x in r[2]['groups_id']]) + cr.execute("select count(*) from res_groups_users_rel where gid in (%s) and uid='%s'" % (group_ids, uid)) + gr_ids = cr.fetchall() + print gr_ids + if not gr_ids[0][0] > 0: + res2.remove(r) +# else: +# #raise osv.except_osv('Error !','You have not permission to perform operation !!!') +# res2.remove(r) + + return res2 ir_values()