2014-05-20 41 views
1

我想在我的樹視圖中應用一些過濾器。和所有進行得很順利,直到我試圖根據user.id 我的XML代碼應用過濾器看起來像這樣:如何在搜索視圖中應用過濾器,基於用戶 - OpenERP 7.0?

<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(前)。

我得到diffent 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 

我tryed添加上下文= 「{ 'GROUP_BY': '請求'}」,以防萬一,但我得到了同樣的錯誤!任何我在這裏失蹤的想法?

在此先感謝。

回答

2

我想我正在用OpenERP放棄自己的想法。我格式嚴重的過濾器域,我應該使用uid而不是user.id。通過這種方式,過濾器應<filter icon="terp-mail-message-new" string="My Requests" name="my_requests_filter" domain="[('requestor','='uid)]" />

而且,順便說一句,如果想設置一個過濾器上樹視圖默認情況下,它必須在操作定義中添加以下代碼:

<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> 
相關問題