changeset d41d48d68cdf in trytond:default
details: https://hg.tryton.org/trytond?cmd=changeset&node=d41d48d68cdf
description:
Skip keyword action window for which user has not read access
issue11589
review419541003
diffstat:
trytond/ir/action.py | 5 +++++
1 files changed, 5 insertions(+), 0 deletions(-)
diffs (22 lines):
diff -r 73c1250aaa21 -r d41d48d68cdf trytond/ir/action.py
--- a/trytond/ir/action.py Tue Jul 19 20:57:47 2022 +0200
+++ b/trytond/ir/action.py Sat Jul 30 11:10:37 2022 +0200
@@ -243,6 +243,7 @@
pool = Pool()
Action = pool.get('ir.action')
Menu = pool.get('ir.ui.menu')
+ ModelAccess = pool.get('ir.model.access')
key = (keyword, tuple(value))
keywords = cls._get_keyword_cache.get(key)
if keywords is not None:
@@ -273,6 +274,10 @@
types[type_].append(action_keyword.action.id)
for type_, action_ids in types.items():
for value in Action.get_action_values(type_, action_ids):
+ if (type_ == 'ir.action.act_window'
+ and not ModelAccess.check(
+ value['res_model'], raise_exception=False)):
+ continue
value['keyword'] = keyword
keywords.append(value)
if keyword == 'tree_open' and model == Menu.__name__: