【问题标题】:How to apply filter in search view, based on user - OpenERP 7.0?如何根据用户 - OpenERP 7.0 在搜索视图中应用过滤器?
【发布时间】:2014-05-20 16:14:54
【问题描述】:

我正在尝试在我的树形视图中应用一些过滤器。在我尝试基于user.id 应用过滤器之前一切都很好 我的 XML 代码如下所示:

<record model="ir.ui.view" id="view_generic_request_search">
    <field name="name">generic_request.search</field>
    <field name="model">generic.request</field>
    <field name="arch" type="xml">
        <search string="Search Request">
            <filter icon="terp-mail-message-new" string="My Requests" name="my_requests_filter" domain="[('requestor','=',user.id)]" />
            <filter icon="terp-mail-message-new" string="Requests I'm responsible" name="request_im_responsible_filter" domain="[('responsible_name','=',user.id)]" />
            <filter icon="terp-mail-message-new" string="Requests I own" name="requests_i_own_filter" domain="[('owner','=',user.id)]" />
            <separator />
            <filter icon="terp-mail-message-new" string="Denied Requests" name="denied_requests_filter" domain="[('state','=','denied')]"/>
            <filter icon="terp-mail-message-new" string="Authorized Requests" name="authorized_requests_filter" domain="[('state','=','authorized')]"/>
            <filter icon="terp-mail-message-new" string="Confirmed Requests" name="confirmed_requests_filter" domain="[('state','=','confirmed')]"/>
            <separator/>
            <group expand="0" string="Group By...">
                <filter string="Requested by" domain="[]" context="{'group_by' : 'requestor'}" />
                <filter string="Responsible person" domain="[]" context="{'group_by' : 'responsible_name'}" />
                <filter string="Status" domain="[]" context="{'group_by': 'state'}"/>
            </group>
        </search>
    </field>
</record>

所有过滤器和分组依据都工作正常,除了基于 user.id 的 3 个(例如)

在不同的浏览器上出现不同的 js 错误:

Chrome & IE
Uncaught TypeError: Cannot read property 'length' of undefined
http://myserveraddress:8069/web/webclient/js?db=may_9:3256
Firefox:
TypeError: results.group_by is undefined
http://myserveraddress:8069/web/webclient/js?db=may_9:3256

我尝试添加 context="{'group_by' : 'requestor'}",以防万一,但我得到了同样的错误!有什么我在这里想念的想法吗?

提前致谢。

【问题讨论】:

    标签: filter treeview openerp searchview openerp-7


    【解决方案1】:

    我想我对 OpenERP 失去了理智。我的过滤器域格式错误,我应该使用uid 而不是user.id。这样,过滤器应该是&lt;filter icon="terp-mail-message-new" string="My Requests" name="my_requests_filter" domain="[('requestor','='uid)]" /&gt;

    而且,顺便说一句,如果想要在树视图上将过滤器设置为默认值,则必须在操作定义中添加以下代码:

    <record model="ir.actions.act_window" id="action_generic_request">
                        <field name="name">Generic Request</field>
                        <field name="res_model">generic.request</field>
                        <field name="view_type">form</field>
                        <field name="context">{"search_default_my_requests_filter":1}</field>
                        <field name="view_mode">tree,form</field>
            </record>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-07-28
      • 2021-09-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多