我有一个字段,我想让它对组中的所有用户都是只读的,比如base.group_userA。任何其他用户都可以编辑和保存该字段。我该如何在开场白中做到这一点?。我已经为所有用户设置了所有CRUD访问权限。
'WO_NOTES' : fields.text("Description"),
在xml 中
<field name="WO_NOTES"/>
我也遇到了同样的问题,只是我想只向组中的用户显示字段。我通过继承视图解决了这个问题,并对特定组进行了更改。
在你的情况下,它应该看起来像这样:
<?xml version="1.0"?>
<openerp>
<data>
<record model="ir.ui.view" id="view_id">
<field name="name">view.id</field>
<field name="model">your.model</field>
<field name="inherit_id" ref="id_of_inherited_view"/>
<field name="groups_id" eval="[(6, 0, [ref('base.group_userA') ])]"/>
<field name="arch" type="xml">
<field name="WO_NOTES" position="attributes">
<attribute name="readonly">1</attribute>
</field>
</field>
</record>
</data>
</openerp>
希望这能有所帮助!
---一个小的编辑澄清一点我的答案---
我假设您有自己的表单视图,可以对所有用户正常工作(WO_NOTES对所有用户都是可编辑的(。有了这种继承,更改将只发生在属于base.group_userA
的用户身上,将其属性更改为只读(只发生在该字段上,也只发生在来自该组的用户上(。
<field name="WO_NOTES" position="attributes"> <attribute name="readonly">1</attribute></field>
部分将在父视图中定位字段并使其只读。<field name="groups_id" eval="[(6, 0, [ref('base.group_userA') ])]"/>
将此更改限制为指定的组。