如何在 odoo 9 中默认创建 "employee" "user"

how to make an "employee" "user" by default in odoo 9

我有一个模块不会从另一个模块继承,它将用于体育俱乐部

玩家和教练将有使用该系统的权限,我的问题如下:

1- 从头开始​​创建新模型或从合作伙伴、员工、联系人或用户那里继承哪个更好

2- 如果我创建新模型或从另一个不是用户的模型继承如何让任何玩家默认成为用户

无论如何,您可能必须为您的用户创建一个合作伙伴。我的想法是,您可能希望让您的玩家成为合作伙伴。如果 is_player 标志为真,您可以覆盖视图并删除不面向玩家的元素或隐藏它们。 (您可能想要添加一个新的 is_player 布尔值)。您可以使用 is_player 布尔值来定义何时显示播放器视图或通用联系人视图。

就我个人而言,我会使用合作伙伴和用户,因为 Odoo 的大部分安全和结构已经围绕这些模型构建。

如果您的玩家继承了合作伙伴,您可以覆盖 create() 方法,并在您创建联系人后在其中简单地创建一个用户。

@api.model
@api.returns('self', lambda rec: rec.id)
def create(self, vals):
    vals['notify_email'] = 'always'
    rec = super(Partner, self).create(vals)
    v = {
         'active': True,
         'login': rec.email,
         'company_id': 1,
         'partner_id': rec.id,
         'create_uid': 1,
         'write_uid': 1,
         'display_groups_suggestions': False,
         'share': False
    }
    user_id = self.env['res.users'].sudo().create(v)

    return rec

上面的示例创建了一个用户,其中包含您可能想要更改的一堆值以更适合您的需要。创建用户后,您需要发送密码重置。