【求助】如何实现不同组对某一字段有不同权限?
-
虽然在view中可以控制字段按用户组显示与否,OE暂时还没有真正实现字段级别用户访问权限。目前要实现字段级别访问控制只能通过覆写,create, read, write, unlink等方法
-
[size=12pt][b]摘录自老肖的《OpenERP应用和开发基础》的“OpenERP的权限设置”章节:[/b][/size]
字段访问权限设置
字段权限设置有两个途径,一是视图中设置,二是对象上设置。视图中设置的方法是,菜单:管理员 -> 自定义 -> 数据库结构 -> 字段,在字段定义画面上有个“组安全性”的Tab页,此处指定哪些组可以在视图中看见该字段。也可在视图定义的XML中设置,如下:
<page string=”Extra Info” groups=”base.group_admin”>
这表示,只有Admin组才能看见视图上的TAB页”Extra Info” 。
对象上设置字段访问权限的方法,目前界面操作尚支持不够,只能在对象定义的代码中实现。如下,在对象的字段定义中,增加属性 write 和read,指定哪些组允许读或写本字段。<br />class res_partner(osv.osv):<br />_description=’Partner’<br />_name = “res.partner”<br />_order = “name”<br />_columns = {<br />‘name’: fields.char(’Name’, size=128, required=True, select=True, write=['base.group_admin'], read=['base.group_admin'] ),<br />}<br />res_partner()<br />