odoo-037 实现一个权限组对指定菜单可见

新需求

要求新建一个权限组,用户拥有以下权限:
1、更多联系人:全部权限;
2、销售:可见菜单:订单、产品、报表;可创建、编辑订单;
3、采购:可见菜单:订单、产品、报表、配置;可创建、编辑订单;
4、库存:可见菜单:概览、作业、主数据、报告;
5、产品:只可以查询,不能编辑;视图上关于制造相关的入口都不显示,包括:更新数量、补给,按钮:物料清单、制造、路线、上架规则、已售、已采购;
6、发票:销售和采购上关于的发票菜单不可见。

新问题

乍看以下,需求很简单,就是菜单的可见性问题,groups 就能解决。

细看,问题有:该权限组有销售采购的创建编辑权限,为啥产品上又不能看相关的已售、已采购呢;

背景:客户是怎么方便怎么来的,关于制造就细分到哪几个字段设一个权限组,未完成和完成的制造订单能否查看组件都各是一个权限组,仅制造就已有十几个权限组。

这次的需求,做起来后发现,有些菜单必须某些权限组才能看,是区分user 和 manager 的,而这里的是不管什么权限的,都是某个人单独的一个权限组,要这些功能。跟系统本身的功能是有些冲突的。
头大

试错过程

1、创建一个权限组,然后给这个权限组写对各个模型的 read、write、create、unlink 权限;
问题是:发现第一步很多菜单就显示不出来,即使重写加上这个组也不行;
2、创建的新权限组,默认继承的权限包含 销售用户: 所有文档;采购:用户;库存:用户的权限;
问题是:有些菜单或者按钮的权限是 user 的,隐藏不掉
3、创建的新权限组,默认继承销售用户: 所有文档、库存:用户的权限;
问题是:采购-报表菜单显示不出来。
4、群友提了一个修改获取根菜单的方法,测试了没有看到效果。

难重点

odoo 中对某个菜单可见,用 groups 轻松解决。
如果odoo 的权限组多,是只有一个权限组不可见某个菜单就麻烦了。

最终方法(不是最好的)

最终采用3,在3的基础上修改。

学到及更深理解

拿到需求需要先想好是怎么下手,这次是一直在反复一个过程,相当于每次重头来;
学到:

  1. groups 如果菜单原先已经对这个 groups 可见,可以直接添加需要新权限组的组,不用全部重写一次;(groups 默认是追加,不会删除原先权限组的)
  2. 菜单的可见性,首先是csv文件中至少要先对该模型有 read 的权限的,然后菜单也有相应的权限的话,也需要添加新权限组;如果子菜单有权限组要求,父菜单没有的话,新权限组对父菜单也是不可见的,必须先给子菜单赋予权限;
  3. 新建权限组,对 product.template 可读,为什么form视图上按钮看不见;(对父菜单有权限组的要求)

实现了,发现也就是这些平时常用的,没实现的时候,感觉恩很难。哈哈哈

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Sapphire~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值