【问题标题】:How to Hide Filters in Odoo 14如何在 Odoo 14 中隐藏过滤器
【发布时间】:2021-11-02 11:14:36
【问题描述】:

如何在 Odoo 中隐藏过滤器,我知道我可以使用记录规则,但在我的情况下我不能。 这不起作用。

请注意:这不是我要隐藏的过滤器。

<filter name="today" **invisible="1"** string="Today's Investigation" domain="[('date','&gt;=', datetime.datetime.combine(context_today(), datetime.time(0,0,0))), ('date','&lt;=', datetime.datetime.combine(context_today(), datetime.time(23,59,59)))]"/>

【问题讨论】:

  • 根据您在下面的评论“我想要的是制作自己的过滤器然后将其隐藏以便用户无法删除它”您的问题写得非常糟糕。

标签: python xml odoo odoo-14


【解决方案1】:

据我所知,记录规则是最好的解决方案,过滤器上的记录规则示例是

            <field name="name">ir.filters.own.rule.delete</field>
            <field name="model_id" ref="model_ir_filters"/>
            <field name="domain_force">[('user_id', '=', user.id)]</field>
            <field name="groups" eval="[(4, ref('base.group_user'))]"/>
            <field name="perm_read" eval="False"/>
            <field name="perm_write" eval="False"/>
            <field name="perm_create" eval="False"/>
        </record> 

【讨论】:

  • 我确实先尝试了所有这些但没有帮助,这就是为什么我决定在 odoo 中隐藏过滤器
  • 它确实适用于自己的规则,所以你可能在编写记录规则时遇到问题
【解决方案2】:

检查解决方案How to make field readonly based on group and status? 将类似的更改应用于您的搜索视图。我相信您只需要向特定组显示过滤器。

【讨论】:

    【解决方案3】:

    我不明白隐藏过滤器的实用性。但是如果你想删除它,你可以继承xml搜索视图和过滤器和xpath +替换过滤器:

    <xpath expr="//filter[@name='today']" position="replace">
    </xpath>
    

    这段代码中最重要的是position="replace"

    【讨论】:

    • 谢谢@jo541,但这不是我想要的。我想要的是制作自己的过滤器,然后将其隐藏,以便用户无法删除它
    • 我想是用默认过滤器打开一个视图?
    • 但不能被用户删除,我该怎么做?
    • 您必须更改您的 ir.act.window 并添加一个域。 odoo.com/documentation/14.0/fr/developer/reference/addons/…
    猜你喜欢
    • 1970-01-01
    • 2021-03-15
    • 2022-08-15
    • 1970-01-01
    • 1970-01-01
    • 2021-05-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多