Bỏ qua để đến Nội dung
Menu
Câu hỏi này đã bị gắn cờ
1 Trả lời
8273 Lượt xem

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';
Ảnh đại diện
Huỷ bỏ
Câu trả lời hay nhất

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.

Ảnh đại diện
Huỷ bỏ

Do you mean that?

if POS_Managers_groups = POS_Managers:

managers = true

else

managers = false

Bài viết liên quan Trả lời Lượt xem Hoạt động
3
thg 9 22
17138
2
thg 6 22
2748
1
thg 10 18
5395
5
thg 8 18
4092
0
thg 4 15
3161