bzr revid: fp@tinyerp.com-20081031204401-ygteigbmtok58vql
This commit is contained in:
Fabien Pinckaers 2008-10-31 21:44:01 +01:00
parent 1d7ec09389
commit 0131fb844f
5 changed files with 23 additions and 18 deletions

View File

@ -182,8 +182,8 @@ class ir_model_grid(osv.osv):
cols = ['model', 'name']
xml = '''<?xml version="1.0"?>
<%s editable="bottom">
<field name="name" select="1" readonly="1"/>
<field name="model" select="1" readonly="1"/>
<field name="name" select="1" readonly="1" required="1"/>
<field name="model" select="1" readonly="1" required="1"/>
<field name="group_0"/>
''' % (view_type,)
for group in groups_br:

View File

@ -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)

View File

@ -3,7 +3,8 @@
<data>
<menuitem icon="terp-partner" id="menu_base_partner" name="Partners" sequence="0"/>
<menuitem id="menu_base_config" name="Configuration" parent="menu_base_partner" sequence="1"/>
<menuitem id="menu_base_config" name="Configuration" parent="menu_base_partner" sequence="1"
groups="group_system"/>
<!--
================================

View File

@ -57,6 +57,7 @@ class groups(osv.osv):
res = super(groups, self).write(cr, uid, ids, vals, context=context)
# Restart the cache on the company_get method
self.pool.get('ir.rule').domain_get()
self.pool.get('ir.model.access').check()
return res
def create(self, cr, uid, vals, context=None):

View File

@ -57,29 +57,29 @@
"access_res_lang_group_all","res_lang group_all","model_res_lang",,1,0,0,0
"access_res_lang_group_user","res_lang group_user","model_res_lang","group_system",1,1,1,1
"access_res_partner_group_partner_manager","res_partner group_partner_manager","model_res_partner","group_partner_manager",1,1,1,1
"access_res_partner_group_user","res_partner group_user","model_res_partner",,1,0,0,0
"access_res_partner_group_user","res_partner group_user","model_res_partner",group_user,1,0,0,0
"access_res_partner_address_group_partner_manager","res_partner_address group_partner_manager","model_res_partner_address","group_partner_manager",1,1,1,1
"access_res_partner_address_group_user","res_partner_address group_user","model_res_partner_address",,1,0,0,0
"access_res_partner_bank_group_user","res_partner_bank group_user","model_res_partner_bank",,1,0,0,0
"access_res_partner_address_group_user","res_partner_address group_user","model_res_partner_address",group_user,1,0,0,0
"access_res_partner_bank_group_user","res_partner_bank group_user","model_res_partner_bank",group_user,1,0,0,0
"access_res_partner_bank_group_partner_manager","res_partner_bank group_partner_manager","model_res_partner_bank","group_partner_manager",1,1,1,1
"access_res_partner_bank_type_group_partner_manager","res_partner_bank_type group_partner_manager","model_res_partner_bank_type","group_partner_manager",1,1,1,1
"access_res_partner_bank_type_group_user","res_partner_bank_type group_user","model_res_partner_bank_type",,1,0,0,0
"access_res_partner_bank_type_group_user","res_partner_bank_type group_user","model_res_partner_bank_type",group_user,1,0,0,0
"access_res_partner_bank_type_field_group_partner_manager","res_partner_bank_type_field group_partner_manager","model_res_partner_bank_type_field","group_partner_manager",1,1,1,1
"access_res_partner_bank_type_field_group_user","res_partner_bank_type_field group_user","model_res_partner_bank_type_field",,1,0,0,0
"access_res_partner_canal_group_user","res_partner_canal group_user","model_res_partner_canal",,1,0,0,0
"access_res_partner_bank_type_field_group_user","res_partner_bank_type_field group_user","model_res_partner_bank_type_field",group_user,1,0,0,0
"access_res_partner_canal_group_user","res_partner_canal group_user","model_res_partner_canal",group_user,1,0,0,0
"access_res_partner_canal_group_partner_manager","res_partner_canal group_partner_manager","model_res_partner_canal","group_partner_manager",1,1,1,1
"access_res_partner_category_group_user","res_partner_category group_user","model_res_partner_category",,1,0,0,0
"access_res_partner_category_group_user","res_partner_category group_user","model_res_partner_category",group_user,1,0,0,0
"access_res_partner_category_group_partner_manager","res_partner_category group_partner_manager","model_res_partner_category","group_partner_manager",1,1,1,1
"access_res_partner_event_group_user","res_partner_event group_user","model_res_partner_event",,1,0,0,0
"access_res_partner_event_group_user","res_partner_event group_user","model_res_partner_event",group_user,1,1,1,1
"access_res_partner_event_group_partner_manager","res_partner_event group_partner_manager","model_res_partner_event","group_partner_manager",1,1,1,1
"access_res_partner_event_type_group_partner_manager","res_partner_event_type group_partner_manager","model_res_partner_event_type","group_partner_manager",1,1,1,1
"access_res_partner_event_type_group_user","res_partner_event_type group_user","model_res_partner_event_type",,1,0,0,0
"access_res_partner_event_type_group_user","res_partner_event_type group_user","model_res_partner_event_type",group_user,1,0,0,0
"access_res_partner_function_group_user","res_partner_function group_user","model_res_partner_function","group_partner_manager",1,1,1,1
"access_res_partner_function_group_partner_manager","res_partner_function group_partner_manager","model_res_partner_function",,1,0,0,0
"access_res_partner_function_group_partner_manager","res_partner_function group_partner_manager","model_res_partner_function",group_user,1,0,0,0
"access_res_partner_som_group_user","res_partner_som group_user","model_res_partner_som","group_partner_manager",1,1,1,1
"access_res_partner_som_group_partner_manager","res_partner_som group_partner_manager","model_res_partner_som",,1,0,0,0
"access_res_partner_som_group_partner_manager","res_partner_som group_partner_manager","model_res_partner_som",group_user,1,0,0,0
"access_res_partner_title_group_user","res_partner_title group_user","model_res_partner_title","group_partner_manager",1,1,1,1
"access_res_partner_title_group_partner_manager","res_partner_title group_partner_manager","model_res_partner_title",,1,0,0,0
"access_res_partner_title_group_partner_manager","res_partner_title group_partner_manager","model_res_partner_title",group_user,1,0,0,0
"access_res_request_group_user","res_request group_user","model_res_request",,1,1,1,1
"access_res_request_history_group_user","res_request_history group_user","model_res_request_history",,1,1,1,1
"access_res_request_link_group_system","res_request_link group_system","model_res_request_link","group_system",1,1,1,1

1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
57 access_res_lang_group_all res_lang group_all model_res_lang 1 0 0 0
58 access_res_lang_group_user res_lang group_user model_res_lang group_system 1 1 1 1
59 access_res_partner_group_partner_manager res_partner group_partner_manager model_res_partner group_partner_manager 1 1 1 1
60 access_res_partner_group_user res_partner group_user model_res_partner group_user 1 0 0 0
61 access_res_partner_address_group_partner_manager res_partner_address group_partner_manager model_res_partner_address group_partner_manager 1 1 1 1
62 access_res_partner_address_group_user res_partner_address group_user model_res_partner_address group_user 1 0 0 0
63 access_res_partner_bank_group_user res_partner_bank group_user model_res_partner_bank group_user 1 0 0 0
64 access_res_partner_bank_group_partner_manager res_partner_bank group_partner_manager model_res_partner_bank group_partner_manager 1 1 1 1
65 access_res_partner_bank_type_group_partner_manager res_partner_bank_type group_partner_manager model_res_partner_bank_type group_partner_manager 1 1 1 1
66 access_res_partner_bank_type_group_user res_partner_bank_type group_user model_res_partner_bank_type group_user 1 0 0 0
67 access_res_partner_bank_type_field_group_partner_manager res_partner_bank_type_field group_partner_manager model_res_partner_bank_type_field group_partner_manager 1 1 1 1
68 access_res_partner_bank_type_field_group_user res_partner_bank_type_field group_user model_res_partner_bank_type_field group_user 1 0 0 0
69 access_res_partner_canal_group_user res_partner_canal group_user model_res_partner_canal group_user 1 0 0 0
70 access_res_partner_canal_group_partner_manager res_partner_canal group_partner_manager model_res_partner_canal group_partner_manager 1 1 1 1
71 access_res_partner_category_group_user res_partner_category group_user model_res_partner_category group_user 1 0 0 0
72 access_res_partner_category_group_partner_manager res_partner_category group_partner_manager model_res_partner_category group_partner_manager 1 1 1 1
73 access_res_partner_event_group_user res_partner_event group_user model_res_partner_event group_user 1 0 1 0 1 0 1
74 access_res_partner_event_group_partner_manager res_partner_event group_partner_manager model_res_partner_event group_partner_manager 1 1 1 1
75 access_res_partner_event_type_group_partner_manager res_partner_event_type group_partner_manager model_res_partner_event_type group_partner_manager 1 1 1 1
76 access_res_partner_event_type_group_user res_partner_event_type group_user model_res_partner_event_type group_user 1 0 0 0
77 access_res_partner_function_group_user res_partner_function group_user model_res_partner_function group_partner_manager 1 1 1 1
78 access_res_partner_function_group_partner_manager res_partner_function group_partner_manager model_res_partner_function group_user 1 0 0 0
79 access_res_partner_som_group_user res_partner_som group_user model_res_partner_som group_partner_manager 1 1 1 1
80 access_res_partner_som_group_partner_manager res_partner_som group_partner_manager model_res_partner_som group_user 1 0 0 0
81 access_res_partner_title_group_user res_partner_title group_user model_res_partner_title group_partner_manager 1 1 1 1
82 access_res_partner_title_group_partner_manager res_partner_title group_partner_manager model_res_partner_title group_user 1 0 0 0
83 access_res_request_group_user res_request group_user model_res_request 1 1 1 1
84 access_res_request_history_group_user res_request_history group_user model_res_request_history 1 1 1 1
85 access_res_request_link_group_system res_request_link group_system model_res_request_link group_system 1 1 1 1