diff --git a/addons/share/res_users.py b/addons/share/res_users.py index 9c9ae0034e2..56a3887b52a 100644 --- a/addons/share/res_users.py +++ b/addons/share/res_users.py @@ -33,7 +33,10 @@ class res_users(osv.osv): def _get_users_from_group(self, cr, uid, ids, context=None): result = set() - for group in self.pool['res.groups'].browse(cr, uid, ids, context=context): + groups = self.pool['res.groups'].browse(cr, uid, ids, context=context) + # Clear cache to avoid perf degradation on databases with thousands of users + groups.invalidate_cache() + for group in groups: result.update(user.id for user in group.users) return list(result)