如何让一个"员工" "用户"默认情况下,在odoo 9

时间:2016-09-26 14:14:16

标签: odoo-9

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

玩家和培训师将拥有使用该系统的访问权限和我的问题如下:

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

2-如果我创建新模型或继承自非用户的另一个模型,默认情况下如何让任何玩家成为用户

1 个答案:

答案 0 :(得分:3)

无论如何,您可能必须为您的用户创建合作伙伴。我的想法是你可能想让你的球员成为合作伙伴。您可以覆盖视图并删除非面向玩家的元素,或者在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

上面的示例创建了一个具有一堆值的用户,您可能希望将其更改为更适合您的需求。创建用户后,您需要重置密码。