將登錄用戶銷售團隊指定爲域參數是不可能的,但還有另一種方法可以實現此目的。即;在我看來我的行動指定的域爲:
<field name="domain">[('user_id.default_section_id', 'in', user_sale_team())]</field>
其中user_id是任務的負責任的用戶。 現在繼承ir.actions.act_window的讀取函數,並檢查user_sale_team()是否存在於讀取結果的域中,並將其替換爲登錄用戶銷售團隊標識。這可以通過以下方式完成:
class ir_action_window(osv.osv):
_inherit = 'ir.actions.act_window'
def read(self, cr, uid, ids, fields=None, context=None, load='_classic_read'):
user_pool = self.pool.get('res.users')
obj_user = user_pool.browse(cr, uid, uid, context=context)
res = super(ir_action_window, self).read(cr, uid, ids, fields=fields, context=context, load=load)
if not isinstance(res, list):
res = [res]
sale_team_id = obj_user.default_section_id and obj_user.default_section_id.id or''
for r in res:
mystring = 'user_sale_team()'
if mystring in (r.get('domain', '[]') or ''):
r['domain'] = r['domain'].replace(mystring, str([sale_team_id]))
if isinstance(ids, (int, long)):
if res:
return res[0]
else:
return False
return res
ir_action_window()
此過濾根據其銷售團隊顯示給每個用戶的任務結果。
希望這有助於.....
「什麼是錯的」你能來取悅更具體的是什麼出了問題喜歡你所得到的是錯誤的錯誤信息或瞭解更多信息。謝謝。 –
你能告訴我們你在做什麼,以小片段的形式,以便我們可以識別你的問題。 – Pooja