[FIX] access rights issues on partners

bzr revid: fp@tinyerp.com-20120928081805-jifrsqvktvm5vfch
This commit is contained in:
Fabien Pinckaers 2012-09-28 10:18:05 +02:00
parent fa7b5f85ec
commit 101c27faa4
3 changed files with 24 additions and 12 deletions

View File

@ -26,12 +26,16 @@ class res_partner(osv.osv):
_inherit = 'res.partner' _inherit = 'res.partner'
def _opportunity_meeting_count(self, cr, uid, ids, field_name, arg, context=None): def _opportunity_meeting_count(self, cr, uid, ids, field_name, arg, context=None):
res = {} res = dict(map(lambda x: (x,{'opportunity_count': 0, 'meeting_count': 0}), ids))
for partner in self.browse(cr, uid, ids, context): # the user may not have access rights for opportunities or meetings
res[partner.id] = { try:
'opportunity_count': len(partner.opportunity_ids), for partner in self.browse(cr, uid, ids, context):
'meeting_count': len(partner.meeting_ids), res[partner.id] = {
} 'opportunity_count': len(partner.opportunity_ids),
'meeting_count': len(partner.meeting_ids),
}
except:
pass
return res return res
_columns = { _columns = {

View File

@ -26,9 +26,13 @@ class res_partner(osv.osv):
_inherit = 'res.partner' _inherit = 'res.partner'
def _purchase_order_count(self, cr, uid, ids, field_name, arg, context=None): def _purchase_order_count(self, cr, uid, ids, field_name, arg, context=None):
res = {} res = dict(map(lambda x: (x,0), ids))
for partner in self.browse(cr, uid, ids, context=context): # this user may not have access to user rights
res[partner.id] = len(partner.purchase_order_ids) try:
for partner in self.browse(cr, uid, ids, context=context):
res[partner.id] = len(partner.purchase_order_ids)
except:
pass
return res return res
def copy(self, cr, uid, id, default=None, context=None): def copy(self, cr, uid, id, default=None, context=None):

View File

@ -26,9 +26,13 @@ class res_partner(osv.osv):
_inherit = 'res.partner' _inherit = 'res.partner'
def _sale_order_count(self, cr, uid, ids, field_name, arg, context=None): def _sale_order_count(self, cr, uid, ids, field_name, arg, context=None):
res = {} res = dict(map(lambda x: (x,0), ids))
for partner in self.browse(cr, uid, ids, context): # The current user may not have access rights for sale orders
res[partner.id] = len(partner.sale_order_ids) try:
for partner in self.browse(cr, uid, ids, context):
res[partner.id] = len(partner.sale_order_ids)
except:
pass
return res return res
def copy(self, cr, uid, record_id, default=None, context=None): def copy(self, cr, uid, record_id, default=None, context=None):