diff --git a/bin/addons/base/ir/ir_model.py b/bin/addons/base/ir/ir_model.py
index 85dafc71d96..d48e480f931 100644
--- a/bin/addons/base/ir/ir_model.py
+++ b/bin/addons/base/ir/ir_model.py
@@ -182,8 +182,8 @@ class ir_model_grid(osv.osv):
cols = ['model', 'name']
xml = '''
<%s editable="bottom">
-
-
+
+
''' % (view_type,)
for group in groups_br:
diff --git a/bin/addons/base/ir/ir_ui_menu.py b/bin/addons/base/ir/ir_ui_menu.py
index b8cf09b9fb4..71e50d141a6 100644
--- a/bin/addons/base/ir/ir_ui_menu.py
+++ b/bin/addons/base/ir/ir_ui_menu.py
@@ -87,7 +87,7 @@ class ir_ui_menu(osv.osv):
return []
modelaccess = self.pool.get('ir.model.access')
- user_groups = set(self.pool.get('res.users').read(cr, 1, uid)['groups_id'])
+ user_groups = set(self.pool.get('res.users').read(cr, 1, uid, ['groups_id'])['groups_id'])
result = []
for menu in self.browse(cr, uid, ids):
# this key works because user access rights are all based on user's groups (cfr ir_model_access.check)
@@ -103,8 +103,11 @@ class ir_ui_menu(osv.osv):
restrict_to_groups = [g.id for g in menu.groups_id]
if not user_groups.intersection(restrict_to_groups):
continue
+ result.append(menu.id)
+ self._cache[key] = True
+ continue
- if menu.action: # FIXME elif ?
+ if menu.action:
# we check if the user has access to the action of the menu
m, oid = menu.action.split(',', 1)
data = self.pool.get(m).browse(cr, 1, int(oid))
@@ -127,8 +130,8 @@ class ir_ui_menu(osv.osv):
# not displayed if there is no children
continue
- self._cache[key] = True
result.append(menu.id)
+ self._cache[key] = True
if count:
return len(result)
diff --git a/bin/addons/base/res/partner/partner_view.xml b/bin/addons/base/res/partner/partner_view.xml
index 9bcb9333049..20415833f67 100644
--- a/bin/addons/base/res/partner/partner_view.xml
+++ b/bin/addons/base/res/partner/partner_view.xml
@@ -3,7 +3,8 @@
-
+