在odoo中,删除按钮存在于tree和form中,如果想禁止掉某个用户的删除权限,第一步在tree标签中新增delete属性,例如下面代码:
<tree string="Vehicle List" delete="false">
第二,将包含record的整个树视图复制一份,其中设置过delete="false"
的tree留给某个用户,没有设置delete="false"
的tree留给超级管理员。
相应的应该为超级管理员也创建一份action
,因为超级管理员拥有删除权限,只需要禁止其他用户即可。超管的动作代码如下:
<!-- 动作 -->
<record id="action_vehicle_for_admin" model="ir.actions.act_window">
<field name="name">信息</field>
<field name="res_model">vehicle</field>
<field name="view_mode">tree,form</field>
<field name="help" type="html">
<p class="oe_view_nocontent_create">
点击创建记录
</p>
</field>
<field name="context">{
'tree_view_ref':'ev_01.view_vehicle_tree_for_admin',
}
</field>
</record>
上述代码中id为view_vehicle_tree_for_admin
的树视图没有设置delete="false"
,所以拥有tree视图的删除权限。