2017-07-26 9 views
2

私はその使用のために= uidとをUSER_IDされたレコードを表示するツリービュー内のすべてのレコードを見ることができOdoo。は、管理者がツリービューで

簡単な解決方法はありますか?

+0

「ir.rule」別名アクセスルールの使用をお勧めします。モデル 'sale.order'のodooの' sale'モジュールには、分かりやすい例がいくつかあります。 – CZoellner

答えて

2

以下の方法で行うことができます。 Pythonのファイルでアクション & 継承検索方法から

削除ドメイン。アクションが_searchがUSER_IDがSUPERUSER_IDの場合は、ドメインを追加したり、ドメインを追加しないでくださいあなたは を確認することができている、と呼ばれる実行されます

from openerp import models,fields,api,_ 
from openerp.exceptions import Warning 
from openerp.osv import expression 
from openerp import SUPERUSER_ID 

class mail_message(models.Model): 
    _inherit = 'mail.message' 

    def _search(self, cr, uid, args, offset=0, limit=None, order=None, 
       context=None, count=False, access_rights_uid=None): 
     """ Override that adds specific access rights of mail.message, to restrict 
     messages to published messages for public users. """ 
     if uid!=SUPERUSER_ID: 
      args = expression.AND([[('user_id', '=',uid)], list(args)]) 
     return super(mail_message, self)._search(cr, uid, args, offset=offset, limit=limit, order=order, 
               context=context, count=count, access_rights_uid=access_rights_uid)  

これはあなたを助けるかもしれません。

+0

あなたのクラスで_searchメソッドを記述する必要があり、私はちょうどmail.messageの例を与えている、あなたはあなたのclasssの元に、このメソッドを書く必要があります。test.g –

+0

あなたの例では正常に動作しますが、それはフロントエンドなどで可能です。 http:// localhost:8069/mypageフィルタを無効にします。バックエンドのツリービューのみです。私は_search関数が必要です。 – Pointer

+0

私はあなたの質問ではっきりしていません。 –

関連する問題