2016-08-10 4 views
0

모든 사용자에 대해 사용자 지정된 대시 보드를 공유하려면 어떻게해야합니까? 생성 된 모든 사용자 지정 대시 보드가 사용자 지정된보기에 저장되어있는 것을 확인한 다음 대시 보드를 공유하려면 대시 보드에 해당하는 사용자 지정된보기를 복제해야합니다. 사용자 필드를 변경하십시오.모든 사용자에게 Odoo 대시 보드 공유

더 좋은 솔루션이 있습니까?

답변

1

기본 보드 모듈을 무시하고 사용자 필터를 제거하여 적용 할 수있는 대안이 있습니다.

from openerp import SUPERUSER_ID 
from openerp.osv import fields, osv 

from operator import itemgetter 
from textwrap import dedent 

class board(osv.osv): 

    _inherit = 'board.board' 

    def fields_view_get(self, cr, user, view_id=None, view_type='form', context=None, toolbar=False, submenu=False): 

     user = SUPERUSER_ID 
     res = {} 
     res = super(board, self).fields_view_get(cr, user, view_id, view_type, 
                 context=context, toolbar=toolbar, submenu=submenu) 

     CustView = self.pool.get('ir.ui.view.custom') 
     vids = CustView.search(cr, user, [('ref_id', '=', view_id)], context=context) 
     if vids: 
      view_id = vids[0] 
      arch = CustView.browse(cr, user, view_id, context=context) 
      res['custom_view_id'] = view_id 
      res['arch'] = arch.arch 
     res['arch'] = self._arch_preprocessing(cr, user, res['arch'], context=context) 
     res['toolbar'] = {'print': [], 'action': [], 'relate': []} 

     return res 

class board_create(osv.osv_memory): 

    _inherit = 'board.create' 

    def board_create(self, cr, uid, ids, context=None): 
     assert len(ids) == 1 

     uid = SUPERUSER_ID 
     res = super(board_create, self).board_create(cr, uid, ids, context=None) 

     return res 
0

Odoo의 기본 요소를 변경하지 않고도 두려운 것은 필드 사용자가 필요하기 때문에보기를 복제하고 사용자를 변경하는 것 외에는 다른 해결책이 없습니다.