odoo - 不能基于访问权限来查看视图
问题描述
<record id="view_res_partner_pricelist" model="ir.ui.view">
<field name="name">view.res.partner.pricelist.form</field>
<field name="model">res.partner</field>
<field name="type">form</field>
<field name="inherit_id" ref="product.view_partner_property_form" />
<field name="context">{'readonly_by_pass': True}</field>
<field name="arch" type="xml">
<xpath expr="//page[@name='accounting']" position="replace"/>
</field>
</record>
这是我隐藏选项卡“会计”的视图,如果打开联系表单的用户具有会计和财务访问权限,它可以正常工作,但如果用户没有它们,那么我会收到错误
AttributeError: Element '<xpath expr="//page[@name='accounting']">' cannot be located in parent view
Error context:
View `view.res.partner.pricelist.form`
我怎样才能为没有会计和财务访问权限的用户进行这项工作?
解决方案
有趣...您应该通过在视图的 groups_id 字段的视图记录定义中添加组要求来解决它,例如:
<record id="view_res_partner_pricelist" model="ir.ui.view">
<field name="name">view.res.partner.pricelist.form</field>
<field name="model">res.partner</field>
<field name="type">form</field>
<field name="inherit_id" ref="product.view_partner_property_form" />
<field name="context">{'readonly_by_pass': True}</field>
<field name="groups_id" eval="[(4, ref('account.group_account_invoice'))]"/>
<field name="arch" type="xml">
<xpath expr="//page[@name='accounting']" position="replace"/>
</field>
</record>
推荐阅读
- ruby-on-rails - 没有为 RSpec 找到具有“主要”的连接池
- python - AttributeError:“NoneType”对象在网络抓取工具中没有属性“findAll”
- javascript - 如果不存在边界,则传单错误坐标
- python - ValueError:采样器选项与 shuffle pytorch 互斥
- javascript - 如何在反应中为单个页面中的多个组件进行嵌套路由
- vue.js - 在 Vue 中使用 v-for 循环,如何只显示重复值的一次迭代?
- python - 如果未在原始字符串中给出路径和文件名,则 PIL Image.open 上的“[Errno 13] Permission denied”
- python - 如何计算熊猫中行的百分比?
- spring-boot - 如何设计一个 Springbatch 作业,从 DB 中批量获取记录并并行运行多个处理器和写入器
- c++ - 使用 WinApi / c++ 修改 Windows 资源管理器工具栏