odoo中的权限管理

odoo的权限管理总结,经验之谈,欢迎指正。

模型权限设置

在一个模块中新建了一个模型都必须对此模型进行权限配置,因为默认模型是没有任何权限设置的,开发的时候使用admin账号可以看到但正常账户是无法看见模型的。所以这是最基本的权限配置,哪怕你的模块没有特殊权限对所有人都开放也必须进行配置。

  • 对模型的权限设置一般是在security/ir.model.access.csv文件中进行配置。格式如下
# 第一行是表头,表示分别需要填入的值 即 id,name,模型,用户组,最后四个为读,写,创建,删除权限
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink 

id是系统用来识别每一个模型权限设置的唯一识别,所以必须是一个唯一值,name是个人用于识别模型权限的识别字段,也要唯一。其实这两个字段只要保持唯一性即可按照个人习惯进行命名。当然官方也提供了一个推荐命名规则:

  • id: access_模型名_特定用户组名
  • name:模型名.用户组名
    第三个字段是指定模型就必须按照规则写了
  • model: model_模型名
    第四个字段用户组,一般为空代表对所有用户组执行。
    后四个权限字段 1表示有权限 0表示没有权限
    所以一条权限定义:
    access_my_model,my_model,model_my_model,,1,1,1,0
    解读为所有用户拥有对模型my_model的读,写,创建权限但是没有删除权限。
    对一个模块可以设置多个权限明细,比如新增一条权限定义
    access_my_model_system,my_model.system,model_my_model,base.group_system,1,1,1,1
    解读为在base.group_system用户组里的用户拥有对模型my_model的读,写,创建权限但是没有删除权限。

用户组设置

在上面我们说到了用户组的概念,其实这就是字面分组的意思,在不同的组的人可以有不同的权限,当然一个用户可以拥有多个用户组。

  • 用户组定义一般是在security/security.xml中
    一个用户组的定义如下:
# 首先定义一个用户组的类别 同一个类别中有不同的用户组但是用户只能选择其中一个
<record id="module_mrp" model="ir.module.category"> <field name="name">制造</field> <field name="sequence">27</field> <field name="comment">制造权限类别</field> </record> # 定义一个员工组 <record id="mrp_group_user" model="res.groups"> <field name="name">用户</field> <field name="comment">制造普通用户</field> # 属于哪一个用户组类别,填入上面点定义用户组类别的id <field name="category_id" ref="module_mrp"/> # 继承用户 ,继承使base.group_user里的用户都属于整个用户组 <field name="implied_ids" eval="[(4, ref('base.group_user'))]"/> </record> # 定义一个经理组 <record id="mrp_group_manager" model="res.groups"> <field name="name">经理</field> <field name="comment">制造管理员</field> <field name="category_id" ref="module_mrp"/> <field name="implied_ids" eval="[(4, ref('mrp_group_user'))]"/> # 默认用户 ,设置base.user_root用户组里的用户也是该用户组用户 <field name="users" eval="[(4, ref('base.user_root'))]"/> </record> 

其实无论使用implied_ids还是users都是为了给新建的用户组填入默人用户,但这并不是一定要设置的。

基于用户组的权限控制

建立用户组后我们可以进行按组对字段进行权限控制

  • 在模型的xml视图中
# 在网页展示的视图中,只有mrp_group_manager的用户才能看到name字段
<field name="name" groups="mrp.mrp_group_manager"/>

注意调用其他模块的用户组一定要加上模块名.

  • 在python代码中
# name字段只有mrp_group_user,mrp_group_manager用户则才能看见,但只有mrp_group_manager用户能进行编辑
name = fields.Char(string=u'名字',read=['mrp_group_user','mrp_group_manager'],\ write=['mrp_group_manager']) 

记录管理规则

以上两个都是针对整个模型而言设置的权限,接下来就是针对模型中不同的记录进行权限设置,比如员工只能看见自己创建的订单而看不了别人的。

<record model="ir.rule" id="mrp_user_rule"> <field name="name">查看自己的订单</field> # model_id 作用于哪个模型 值为 model_模型名 <field name="model_id" ref="model_mrp"/> # 设置domain 创建者为当前用户 <field name="domain_force">[('create_uid','=',user.id)]</field> # 该规则使用于哪个用户组mrp <field name="groups" eval="[(4, ref('mrp.mrp_group_user'))]"/> # 还可以详细配置对记录的读写创建删除权限 <field name="perm_read" eval="1" /> <field name="perm_write" eval="1" /> <field name="perm_create" eval="1" /> <field name="perm_unlink" eval="0" /> </record> 

总结

从对模型权限设置,到基于用户组可以对每个字段进行的权限控制,再加上利用设置权限规则可以对记录进行权限。odoo的权限管理还是十分完善的,合理的配合使用基本上是可以完成任何复杂的权限设置的。

转载于:https://www.cnblogs.com/wwh/p/11557761.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: odoo 仓储管理模块是odoo企业资源管理软件的一个重要功能模块,它能够帮助企业高效地管理仓储业务。该模块提供了一系列功能,包括库存管理、采购管理、销售管理和生产管理等。 首先,库存管理是仓储管理模块的核心功能之一。通过该模块,企业可以实时了解当前库存的情况,包括库存数量、库存地点以及库存变动等。同时,库存管理模块还支持库存的物理盘点和调拨操作,可以帮助企业精确掌握库存的实际情况,并确保库存的准确性。 其次,采购管理是仓储管理模块的另一个重要功能。企业可以使用该模块进行采购订单的创建和跟踪,并实时了解采购进度。模块还支持采购合同的管理,可以帮助企业更好地管理供应商关系和优化采购流程。 另外,销售管理是仓储管理模块的一个补充功能。企业可以使用该模块进行销售订单的创建和跟踪,并实时了解销售进度。模块还支持销售合同的管理,可以帮助企业更好地管理客户关系和优化销售流程。 最后,生产管理是仓储管理模块的一个重要功能之一。企业可以使用该模块进行生产订单的创建和跟踪,并实时了解生产进度。模块还支持生产工艺的管理,可以帮助企业更好地管控生产过程和提高生产效率。 总体而言,odoo仓储管理模块为企业提供了全面且集化的仓储管理解决方案,从库存管理到采购管理、销售管理和生产管理等一系列功能,帮助企业提升仓储管理的效率和准确性,优化供应链和生产流程,并最终实现企业的精益管理和增长目标。 ### 回答2: Odoo 仓储管理模块是一种功能强大的软件工具,用于优化和管理企业的仓储流程和库存管理。 该模块提供了一个集成的仓储管理解决方案,可以帮助企业更好地跟踪和管理其库存,减少库存损耗,并提高库存周转率。它具有直观的用户界面,使用户能够轻松管理仓库,查看库存水平,并进行库存调整。 该模块还提供了适合不同类型仓库的功能,如标准仓库、分销仓库和制造仓库等。它支持多个仓库的管理,并允许用户根据实际需求创建和配置多个仓库。 通过使用该模块,用户可以实时跟踪库存,并自动更新库存数量和库存变化。用户还可以轻松完成库存盘点,通过扫描条形码或使用RFID技术来提高盘点效率和准确性。 该模块还具有强大的功能,如库存调拨管理、批次管理、批次跟踪、网上库存查询等。用户可以通过使用这些功能来优化仓库运营和提高客户满意度。 除此之外,该模块还与其他Odoo模块集成,如销售、采购和制造等。这使得库存管理与其他业务流程的整合更加紧密,并提供了更完整、更高效的解决方案。 总之,Odoo 仓储管理模块是一种功能丰富的工具,可帮助企业优化和提高仓储流程和库存管理。无论是小型企业还是大型企业,都可以通过使用该模块来实现更好的库存管理和更高的运营效率。 ### 回答3: Odoo是一款全功能的企业资源规划(ERP)软件,它提供了一系列模块,其包括仓储管理模块。Odoo的仓储管理模块旨在帮助企业有效管理和优化其仓库运作。 首先,Odoo的仓储管理模块可以帮助企业实时掌握仓库的库存情况。它允许用户跟踪库存数量、产品位置和库存变化。用户可以通过扫描条形码或使用RFID技术来快速进行库存盘点和调整,从而提高库存管理的准确性和效率。 其次,Odoo的仓储管理模块还具备订单管理功能。用户可以轻松创建、编辑和跟踪客户订单,并自动将订单和库存数据进行同步。这使得企业能够实时了解订单的进展情况,确保及时交付产品,并避免订单错误或延误。 此外,Odoo还提供了强大的仓库操作管理功能。用户可以利用该模块来设定和跟踪仓库的各个操作流程,例如收货、上架、拣货和配送等。通过规范化操作流程,企业可以提高仓库吞吐量和减少错误率,从而提高工作效率。 Odoo的仓储管理模块还支持多个仓库的管理。用户可以轻松在系统创建和管理多个仓库,以满足不同部门或地区的仓储需求。用户可以设置不同的访问权限和规则,确保每个仓库的独立运作,并实现各个仓库之间的协同工作。 总之,Odoo的仓储管理模块为企业提供了一套完整的仓库管理解决方案。它能够帮助企业实时掌握库存情况、高效处理订单、规范化仓库操作流程,并支持多个仓库的管理。通过使用Odoo的仓储管理模块,企业可以提高仓库管理的准确性、效率和整体运作效果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值