我需要隐藏我为没有特定访问权限组的用户创建的视图。我知道我可以对我在视图中添加的每个字段使用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'访问权限组的用户是不可见的?我的意思是我需要添加一次groups属性,而不是每个字段。我尝试用div
包装所有内容,然后在那里添加groups
属性,但是我收到了错误,因为你不能把它包装成那样的东西。
答案 0 :(得分:1)
首先创建表单视图。然后继承视图也指定组。例如,在销售订单表单视图中,我想在状态不在草稿或发送时为组用户提供只读客户参考字段。
<record id="view_order_form_cust_ref_readonly" model="ir.ui.view">
<field name="name">sale.order.form.readonly.cust</field>
<field name="model">sale.order</field>
<field name="inherit_id" ref="sale.view_order_form"/>
<field name="groups_id" eval="[(6, 0, [ref('base.group_user') ])]"/>
<field name="arch" type="xml">
<field name='client_order_ref'" position="attributes">
<attribute name="attrs">{'readonly':[('state','not in',['draft','sent'])]}</attribute>
</field>
</field>
</record>
在您的情况下,首先创建一个对所有用户都通用的视图。然后使用组继承视图,并添加需要为指定组显示的字段。