Odoo允许管理员在树视图中查看所有记录

时间:2017-07-26 14:03:09

标签: openerp odoo-9 odoo-10

在树形视图中,我显示记录在哪里是user_id = uid并且用于该用途:

<field name="domain">[('user_id.id','=',uid)]</field>

我需要允许管理员查看没有域名过滤器的所有记录。

任何简单的解决方案?

1 个答案:

答案 0 :(得分:2)

您可以使用以下方法执行此操作。

操作&amp;中删除域名在python文件中继承搜索方法

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)    
  

当执行操作时,将调用_search,您可以在其中进行检查   如果user_id为 SUPERUSER_ID ,则不要添加域或添加域。

这可能会对你有帮助。