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

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

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

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

工作流中如何根据用户组的权限判断该用户是否有权进行某一步的操作?


  • 管理员

    ref的值是External ID也叫xml-id,External ID是通过xml来创建这个记录时赋予的,例如:<record id="sale.group_sale_layout" model="res.groups">。External ID就是sale.group_sale_layout
    如果记录是在界面创建的,是没有个External ID的。解决办法:在界面导出这个界面创建的group,系统会自动分配一个External ID,但是为了以后维护我建议是你用xml来创建group比较好。



  • @joshua
    先谢谢大神!
    group可能包含对多个应用的权限控制吧?那么xml是要写在自己的应用里面还是写在什么系统路径?写在自己应用或者是系统的话,删除的时候会不会有什么残留或者出错?
    我看UI界面创建group里面参数还挺多的,有什么系统自带的例子么(不好意思,我又厚脸皮的来要例子了)?



  • @joshua
    我按照您说的导出,看到ID是__export__.res_groups_25,果然是导出才生成的,不易于管理。但是我去wkf_transition表里面看记录的就是25这个值啊,找了找名字带group的其他表,也没看到哪儿有__export__.res_groups_25对应25这个关系表啊?
    虽然实现了权限控制,但是好像啥提示都没有?比如弹窗您无权限之类的,就是单纯的点了没用吗?还是说提示要在python里面写?
    初始admin账户是不是默认所有权限的?我新建的group没加admin,似乎都能无障碍操作。


  • 管理员

    也没看到哪儿有__export__.res_groups_25对应25这个关系表啊?

    关系表ir.model.data

    虽然实现了权限控制,但是好像啥提示都没有?比如弹窗您无权限之类的,就是单纯的点了没用吗?还是说提示要在python里面写?

    对的,目前在工作流里面写的group是没有提示的,如果需要提示,你可以在python里面写。

    初始admin账户是不是默认所有权限的?我新建的group没加admin,似乎都能无障碍操作。

    对的,他是有访问操作所有对象/记录的权限。



  • @joshua
    我看写在python里面的都是输出到服务器那个exe上面的
    有什么接口可以在python那儿给浏览器弹窗吗?
    我看有onchange函数可以return warning的,试了一下似乎不行?是因为按钮是multi吗?
    顺便问问python函数前面@api.onchange('XX')或者@api.multi
    这些前缀,那么在哪儿能看到更详细一点各种前缀的介绍?
    谢谢


  • 管理员

    有什么接口可以在python那儿给浏览器弹窗吗?
    我看有onchange函数可以return warning的,试了一下似乎不行?是因为按钮是multi吗?

    return warning是onchange用的,平时的方法可以用通过raise来实现,例如:
    raise UserError(_('You can not delete a sent quotation or a sales order! Try to cancel it before.'))

    顺便问问python函数前面@api.onchange('XX')或者@api.multi
    这些前缀,那么在哪儿能看到更详细一点各种前缀的介绍?

    参考这个帖子:http://odoocn.org/topic/4602/odoo-装饰器的用法/3



  • @joshua
    试了一下似乎出错了
    NameError: global name 'UserError' is not defined
    要加什么头文件吗?我这儿odoo10.0


  • 管理员

    @braidtim
    在文件开头要加入引入这个python模块from odoo.exceptions import UserError



  • @joshua
    谢谢!最后问问去哪儿能看到自己建的类里面除了自己定义的还有那些默认的参数可以调用?我看是从models.Model继承的,但是去看model.py文件也没找到什么。比如我想判断当前用户的组别,如果没权限就raise个error,有了就直接通过这样。组别这个参数该怎么获取?


  • 管理员

    @BraidTim
    建议一个帖子一个主题,你的问题在文档里都有介绍,完整的入门教程可以参考这个:http://www.odoo.com/documentation/10.0/howtos/backend.html,
    更多的框架的信息可以看其他章节 http://www.odoo.com/documentation/10.0/index.html


登录后回复
 

与 Odoo 中文社区 的连接断开,我们正在尝试重连,请耐心等待