【问题标题】:How to add security in odoo for adding,editing,deleting and viewing of data?如何在 odoo 中添加安全性以添加、编辑、删除和查看数据?
【发布时间】:2016-02-25 05:45:28
【问题描述】:

我目前正在odoo 8中开发一个房间预订模块。很多用户都可以预订房间。每个用户都可以查看其他人的预订详情。但用户不能编辑或删除其他用户创建的详细信息。但他可以创建、删除和编辑他自己的预订。如何应用?

【问题讨论】:

    标签: security odoo-8


    【解决方案1】:

    书房:

    user_id = fields.Many2one('res.users', 'User')
    
    @api.model
    def create(self, values)
    
        values['user_id'] = self.env.context.uid
    
        return super(YourClassName, self).create(values)
    
    @api.multi
    def write(self, values)
    
        if self.user_id.id != self.env.context.uid:
            raise Warning('You cant edit this document')
    
    return super(YourClassName, self).write(values)
    

    【讨论】:

      【解决方案2】:
      • 在模型中添加一个名为 security 的文件夹
      • 添加一个名为 ir.model.access.csv 的文件
      • 添加一个组,或选择一个您将使用的组(从配置 > 用户 > 组)。我们将从帐户模块中获取会计,但您可以创建自己的。
      • 添加这样的标题:

      "id","name","model_id:id","group_id:id","perm_read","perm_write","perm_create","perm_unlink"

      假设您的模型是 book.room,帐户组有两个权限,“经理”和“用户”:

      经理行是这样的(他可以阅读、编辑、创建和删除):

      "access_book_room_manager","book.room manager access", "model_book_room", "account.group_account_manager",1,1,1,1
      

      用户行(只读):

      "access_book_room_user","book.room user access", "model_book_room", "account.group_account_manager",1,0,0,0
      

      现在,当您创建用户并授予组访问权限时,取决于您选择用户还是管理员,他将只能访问或访问所有内容。

      【讨论】:

      • 如果我这样添加意味着用户只能查看。实际上经理和用户可以预订房间。即创建、编辑、删除选项。但一位用户不应对其他详细信息(预订详细信息)进行任何更改。怎么做?
      • 你能给我一些用例吗?步骤 A) 用户 1 创建了一个房间 B) 用户 2 想要编辑它但他不能,C) 用户 1 想要编辑它但他可以因为他创建了它?类似的东西
      • 没错。用户 1 预订了一个房间,然后他可以编辑、删除它。用户 2 不能编辑用户 1 的预订,但应该可以看到。用户 2 也可以创建新预订。
      • 也许访问权限不是答案。我会放置一个 user_id 字段,当您创建此记录时,将其保存在 book.room 对象中。然后,您可以使用一个约束覆盖函数“Write”,如果正在编辑的用户 ID 与创建它的用户 ID 不同,则会引发错误“您无法编辑此文档”。需要我编码还是你明白?
      • 恐怕我没听懂。你能给我一个示例代码之类的吗?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-13
      • 2016-12-27
      • 1970-01-01
      • 2019-08-21
      • 1970-01-01
      相关资源
      最近更新 更多