This question has been flagged
1 Reply
6887 Views

While working on mobile application we need to check if the user is in Manager group for a particular module. Using SQL we are able to check this condition, but can we accomplish the same using ORM? Please assist.

Following is my sql query which is listing the users who are Managers for 'Point of sale' module: Can we write an equivalent using ORM?

select login, usr.id as user_id, grp.id group_id, grp.name, cat.name 
from res_users usr, res_groups_users_rel rel, res_groups grp, ir_module_category cat
where usr.id = rel.uid
and rel.gid = grp.id
and grp.category_id = cat.id
and cat.name = 'Point of Sale'
and grp.name = 'Manager';
Avatar
Discard
Best Answer

Hi,

you can make search with domain as like below to manage according to your query. 

1) Find out Manager group and then after you can get all users using "users" field of "res.group".

POS_Manager_groups = self.env['res.groups'].search( [ ('name','=','Manager'), ('category_id.name','=','Point of Sale') ] )

2) You can get all users with the help of following search.

POS_Managers = self.env['res.users'].serach( [ ('groups_id.name','=','Manager'), ('groups_id.category_id.name','=','Point of Sale') ] )

I hope you will get your desire result.

Avatar
Discard

Do you mean that?

if POS_Managers_groups = POS_Managers:

managers = true

else

managers = false