我的odoo服务器上有多家公司。我定制了一个模块,控制产品在订单线上显示。我只需要在一家公司工作,而不是在所有公司工作。怎样我能那样做吗?
方法取决于您想要执行的操作。
显示或隐藏某些内容
您可以简单地创建一个组(在res.groups
中(。在res.config.settings
中,您添加了一个新选项,该选项将添加该组中当前用户公司的所有用户。(我不确定implied_group
是否在公司工作,需要测试(。
每个字段/按钮/菜单必须可见后,添加groups="module.xml_id"
针对特定流程
你可以做一些以前类似的事情。创建一个组,在配置中添加选项。
在您的python代码中,您可以执行这样的操作。
def my_method(self):
# Code for all cases
if self.env.user.has_group('module.xml_id'):
# Code for this specific group of user
return True
为特定公司安装模块
这是不可能的。当Odoo安装了一个新模块时,代码将在所有情况下执行。这两家公司需要两个实例。
将公司分离到数据库中,这样每个数据库(现在是每个公司(中的模块就可以不同。
我认为有更好的方法来做你想要的事情,但我不知道。所以,如果这不适合你的情况,你可以等待更多/更好的答案。