odoo-029 odoo13添加模块的只读和导出权限组

文章目录

    • 环境
    • 需求
    • 过程
    • 填坑

环境

odoo版本:odoo13

需求

客户需要销售、采购、生产(制造)、库存的只读跟导出权限分别单独列出来供选择。

过程

  1. odoo 系统本身默认只有 CRUD 的权限,没有导出的权限,继承导出功能的模块base_export_manager
  2. 在 security 的 xml 文件里加上相关的权限组,就是ir.groups
  3. 在 security 的 csv 文件中写上对于这个权限组的对象模型的各个权限,例如
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink,perm_export
access_sale_order_readonly,sale.order.readonly,model_sale_order,km_sale_v13.group_sale_user_readonly,1,0,0,0,0
  1. 再然后,客户要看到还需要给菜单的权限,视图上显示的根菜单肯定要有的。

填坑

  1. 销售的根菜单跟子菜单框架中都是写了默认的权限组,所以需要特别关注下,也可以从设置-技术里面进行权限组的查看进行相应的开发;权限组的文件跟csv的先后顺序注意下;
  2. 销售还有一个坑,就是权限的类别 category,必须写 base.module_category_sales_sales,即系统定义的权限组中,不能是自定义的,否则的话,必须选择一个系统销售组的权限,才能看见销售根菜单;
  3. 其他,比如,只写了sale.order的只读权限,不一定就能 read 的,因为sale 里面的有的many2one的字段或者是相关的采购或库存的模型是没有权限的;(我是写了基本的,其他的是提示哪个没有权限才去添加的,不知道有没有简单的方法);
  4. 最后一个,看用户组中是否手动添加过只读/导出的权限租,是否继承了其他用户组。一个用户属于多个用户组的话,权限是叠加的。

你可能感兴趣的:(Odoo,总结,python,odoo)