Xml 如果记录不属于odoo中的用户,如何使字段只读

Xml 如果记录不属于odoo中的用户,如何使字段只读,xml,odoo-8,Xml,Odoo 8,在我的模块中,用户可以保存自己的记录并编辑自己的记录。还可以查看其他用户的记录。用户不能编辑其他用户的详细信息,但可以查看。我想要的是,我想以只读模式打开另一个用户的记录。但用户自己的记录应该处于正常模式。最重要的是,对于管理员来说,它应该处于正常模式(可编辑模式)。如何在odoo中执行此操作?这可以通过使用布尔字段来完成 is_belongs = fields.Boolean('Own record',default=True) 在模型中添加布尔字段 写一个这样的函数 def make_re

在我的模块中,用户可以保存自己的记录并编辑自己的记录。还可以查看其他用户的记录。用户不能编辑其他用户的详细信息,但可以查看。我想要的是,我想以只读模式打开另一个用户的记录。但用户自己的记录应该处于正常模式。最重要的是,对于管理员来说,它应该处于正常模式(可编辑模式)。如何在odoo中执行此操作?

这可以通过使用布尔字段来完成

is_belongs = fields.Boolean('Own record',default=True)
在模型中添加布尔字段

写一个这样的函数

def make_readonly(self):
    if self.pool['res.users'].has_group(self._cr, self.env.user.id, 'base.group_manager'): 
        is_belongs = True //This will work if admin is logged in//
    elif self.create_uid == self.env.user:
        is_belongs = True
    elif self.create_uid != self.env.user:
        is_belongs = False
这里create_uid是由odoo保留的字段

保留字段 Odoo在所有模型中创建几个字段。这些字段由系统管理,不应写入。如果有用或必要,可以阅读:

此字段提供创建记录的用户。此字段的值是创建记录的用户。因此,当管理员和记录所有者登录时,is_所属的值将为True。对于其他用户,其值将为False

然后在视图中添加一个过滤器,如下所示

{'readonly':[('is_belongs','=',False)]}
然后,对于不是记录所有者的用户,表单视图将是只读的,但是对于管理员和记录所有者,表单视图将处于正常模式