【发布时间】:2026-02-17 05:35:01
【问题描述】:
我需要隐藏我为没有特定访问权限组的用户创建的视图。我知道我可以为我在视图中添加的每个字段使用groups 属性,这样那些用户就不会看到它。但这是非常多余的,因为我需要隐藏该视图中的每个字段。所以也许有某种方法可以隐藏整个视图?在此示例中,它为每个字段隐藏,因为为这些字段添加了组。
<record id="view_partner_additional_view" model="ir.ui.view">
<field name="name">res.partner.patient.form.inherit</field>
<field name="model">res.partner</field>
<field name="priority">2</field>
<field name="inherit_id" ref="base.view_partner_form"/>
<field name="arch" type="xml">
<label for="is_company" string="Is a Company?" position="after">
<field name="is_something"
attrs="{'invisible': [('is_company','=',True)]}"
groups="some_grp"/>
<field name="is_something2"
attrs="{'invisible': [('is_company','=',False)]}"
groups="some_grp"/>
</label>
</field>
</record>
是否有可能以某种方式包装整个视图并定义它对没有“some_grp”访问权限组的用户不可见?我的意思是我需要添加组属性一次,而不是每个字段。我尝试使用div 包装所有内容,然后在其中添加groups 属性,但出现错误,因为您不能这样包装所有内容。
【问题讨论】:
-
模型 ir.ui.view 上有一个 groups_id 字段。你试过了吗?编辑:您也可以在 menuitems 中隐藏带有 groups_id 字段的整个菜单。
-
@CZoellner 我试图隐藏视图,而不是菜单。或者我不明白你的建议。
-
每个视图都有字段 groups_id。该字段的帮助说:空=每个用户都可以看到此视图;条目:只有注册的组才能看到视图。但我测试了它,它不工作。