Odoo中文社区可以通过以下三个域名访问:shine-it.net , odoocn.org,odoo.net.cn

原论坛用户的基本信息和发帖这里都予以保留,请注意:原论坛用户无需重新注册新用户,但是您的密码需要重置

开发人员可以登录gitter讨论组: http://gitter.im/odoo-china/Talk, 需要github账号

如果您登录系统碰到问题,请在微信公众号留言:

【求助】如何实现不同组对某一字段有不同权限?



  • 对于一个字段,不同用户组拥有不同的编辑权限。如,单价对于采购员来说是只读的,采购经理可以修改单价字段。
    在英文官方论坛也遇到有人提这个问题,但没有人回复。不知道现在OE在权限控制上,能不能实现基于组不同,字段有不同权限。


  • 管理员

    虽然在view中可以控制字段按用户组显示与否,OE暂时还没有真正实现字段级别用户访问权限。目前要实现字段级别访问控制只能通过覆写,create, read, write, unlink等方法



  • 谢谢回复。
    现在我使用的方法是根据不同组用户,使用不同的view。如,“新的采购我订单”菜单使用purchase.order.form,对应采购经理组;“新的采购订单1”菜单使用purchase.order1.form,对应采购员组。这样就造成了许多菜单,使用超级管理员登陆后,界面惨不忍睹啊!



  • 超级管理员用户应该在生产系统中禁止使用

    OE的权限设置这里真的是太弱了,竟然要动源码。


  • 管理员

    不知道6.0有否提升呢



  • [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=&#91;&#039;base.group_admin&#039;], read=&#91;&#039;base.group_admin&#039;] ),<br />}<br />res_partner()<br />
    


  • 谢谢老肖,经测试此法可行。