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

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

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

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

让button在某些条件下隐藏



  • 当字段user_id等于当前登陆用户时,button不显示
    [code]
    <group attrs="{'invisible': [('user_id', '=', uid) ] }">
    <button name="case_return"
                    states="open" string="返回"
                    type="object" icon="gtk-jump-to" />
    </group>
    [/code]

    经过测试,下面的代码也是成立的:
    [code]
    <button name="change_deadline"
                                states="draft,open"
                                string="变更" type="object"
                                icon="gtk-go-forward"  attrs="{'invisible':[('user_id','!=','uid')]}"/>
    [/code]
    上面的代码表示,虽然button在draft和open状态下应该显示,但是根据attrs的附加条件,如果user_id不是当前登陆用户的话,这个button还是不显示。



  • 当字段user_id等于当前登陆用户时,button不显示
    [code]
    <group attrs="{'invisible': [('user_id', '=', uid) ] }">
    <button name="case_return"
                    states="open" string="返回"
                    type="object" icon="gtk-jump-to" />
    </group>
    [/code]

    经过测试,下面的代码也是成立的:
    [code]
    <button name="change_deadline"
                                states="draft,open"
                                string="变更" type="object"
                                icon="gtk-go-forward"  attrs="{'invisible':[('user_id','!=','uid')]}"/>
    [/code]
    上面的代码表示,虽然button在draft和open状态下应该显示,但是根据attrs的附加条件,如果user_id不是当前登陆用户的话,这个button还是不显示。



  • <button name="change_deadline"
                                states="draft,open"
                                string="变更" type="object"
                                icon="gtk-go-forward"  attrs="{'invisible':[('user_id','!=',uid)]}"/>



  • 记录:
    6.1.1下会提示uid没有定义,官方buglist中此bug已经解决,但是截至今天(2012.6.28)下载的最新latest版本还是有次问题,只能手动修改,修改方法:
    [code]
    === modified file 'openerp/osv/orm.py'
    --- openerp/osv/orm.py 2012-03-09 08:19:29 +0000
    +++ openerp/osv/orm.py 2012-03-17 14:14:43 +0000
    @@ -53,6 +53,7 @@
    import time
    import types
    from lxml import etree

    import fields
    import openerp
    @@ -96,7 +97,7 @@
    # For non-tree views, the context shouldn't be given.
    def transfer_node_to_modifiers(node, modifiers, context=None, in_tree_view=False):
        if node.get('attrs'):
    -        modifiers.update(eval(node.get('attrs')))
    +        modifiers.update(eval(node.get('attrs'), context))

        if node.get('states'):
            if 'invisible' in modifiers and isinstance(modifiers['invisible'], list):
    @@ -1706,6 +1707,13 @@

            # The view architeture overrides the python model.
            # Get the attrs before they are (possibly) deleted by check_group below
    +        context.update(
    +            uid = user,
    +            current_date = time.strftime('%Y-%m-%d'),
    +        )
            transfer_node_to_modifiers(node, modifiers, context, in_tree_view)

            # TODO remove attrs couterpart in modifiers when invisible is true ?
    [/code]
    链接;https://bugs.launchpad.net/openobject-server/+bug/920033


登录后回复
 

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