From 493ea0256d9b567917fbfafee83fb20071de1fd0 Mon Sep 17 00:00:00 2001 From: Olivier Dony Date: Tue, 15 Sep 2015 13:35:50 +0200 Subject: [PATCH] [FIX] mail: no needaction counter if request user has no partner This is a temporary fix while tracking down the root cause for the missing partner_id. --- addons/mail/models/res_partner.py | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/addons/mail/models/res_partner.py b/addons/mail/models/res_partner.py index 3f12b8846bf..3407f1c8460 100644 --- a/addons/mail/models/res_partner.py +++ b/addons/mail/models/res_partner.py @@ -1,9 +1,11 @@ # -*- coding: utf-8 -*- +import logging import threading from openerp import _, api, fields, models, tools +_logger = logging.getLogger(__name__) class Partner(models.Model): """ Update partner to add a field about notification preferences. Add a generic opt-out field that can be used @@ -177,8 +179,11 @@ class Partner(models.Model): @api.model def get_needaction_count(self): """ compute the number of needaction of the current user """ - self.env.cr.execute(""" - SELECT count(*) as needaction_count - FROM mail_message_res_partner_needaction_rel R - WHERE R.res_partner_id = %s """, (self.env.user.partner_id.id,)) - return self.env.cr.dictfetchall()[0].get('needaction_count') + if self.env.user.partner_id: + self.env.cr.execute(""" + SELECT count(*) as needaction_count + FROM mail_message_res_partner_needaction_rel R + WHERE R.res_partner_id = %s """, (self.env.user.partner_id.id,)) + return self.env.cr.dictfetchall()[0].get('needaction_count') + _logger.error('Call to needaction_count without partner_id') + return 0