gpt4 book ai didi

openerp - onchange 方法更新虚拟字段的值

转载 作者:行者123 更新时间:2023-12-05 01:19:05 24 4
gpt4 key购买 nike

我正在研究 odoo v8,我正在尝试修改用户表单中的访问权限 View 。我想修改表单,以便当我为每个模块的类别选择一个角色时,它将调用 onchange 方法并更新下面的复选框(技术设置、可用性和其他)。目前所做的更改只会在我保存表单后显示。但我想让它更新,以便管理员在保存到数据库之前进行验证。但是,当我从 onchange 方法返回一个字典时,系统似乎不知道该字段的存在(例如,像 in_group_1、in_group_2 等虚拟字段)。有没有办法做到这一点?

@api.v7
def check_acl(self, cr, uid, ids, my_field, context=None):
return {'value': {'in_group_1': True}}

最佳答案

您可以通过此功能检查是否是管理员

 def check_user(self, uid=None):
if uid is None:
uid = request.uid
is_admin = request.registry['res.users']._is_admin(request.cr, uid, [uid])
if not is_admin:
raise openerp.exceptions.AccessError("Only administrators can upload a module")

并使用以下参数调用此函数:
uid = request.session.authenticate(request.db, login, password) 
self.check_user(uid)

您可以在 onchange 中使用此功能
@api.v7
def check_acl(self, cr, uid, ids, my_field, context=None):
if self.check_user(uid):
return {'value': {'in_group_1': True}}

关于openerp - onchange 方法更新虚拟字段的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30448311/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com