如何检查用户是否是 Odoo 中特定模块的管理员?
How can I check if a user is Manager for a specific module in Odoo?
我正在寻找一种方法来检查登录用户是否是特定模块(如 'Point of sale')的管理员。使用 SQL 我可以检查这个条件,但是我们可以使用 ORM 完成同样的事情吗?
以下是我的 sql 查询,它列出了 'Point of sale' 模块的管理员用户:在 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';
终于完成了:)
以下是我在 python 中的工作代码:
models.execute_kw(db, uid, password,
'res.users', 'search',[[['id','=',userid],['groups_id.name','=','Manager'],['groups_id.category_id.name','=','Point of Sale']]],{})
我正在寻找一种方法来检查登录用户是否是特定模块(如 'Point of sale')的管理员。使用 SQL 我可以检查这个条件,但是我们可以使用 ORM 完成同样的事情吗?
以下是我的 sql 查询,它列出了 'Point of sale' 模块的管理员用户:在 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';
终于完成了:) 以下是我在 python 中的工作代码:
models.execute_kw(db, uid, password,
'res.users', 'search',[[['id','=',userid],['groups_id.name','=','Manager'],['groups_id.category_id.name','=','Point of Sale']]],{})