Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
E
erp5_rtl_support
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Romain Courteaud
erp5_rtl_support
Commits
5d6d89e5
Commit
5d6d89e5
authored
May 14, 2015
by
Boris Kocherov
Committed by
Romain Courteaud
Jul 16, 2015
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
ActionTool: add clearGetActionListCache after migration and use cacheable getActionList
parent
a38140bc
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
16 additions
and
6 deletions
+16
-6
product/ERP5Type/Tool/ActionsTool.py
product/ERP5Type/Tool/ActionsTool.py
+16
-6
No files found.
product/ERP5Type/Tool/ActionsTool.py
View file @
5d6d89e5
...
...
@@ -67,8 +67,10 @@ class ActionsTool(BaseTool, ActionProviderBase, CMFCore_ActionsTool):
getattr
(
provider
,
'listActionInfos'
,
None
)
is
None
):
logger
.
info
(
'migrating actions from %r to %r'
,
portal_actions_path
,
'/'
.
join
(
provider
.
getPhysicalPath
()))
for
old_action
in
provider
.
_actions
:
self
.
_importOldAction
(
old_action
)
if
provider
.
_actions
:
for
old_action
in
provider
.
_actions
:
self
.
_importOldAction
(
old_action
)
self
.
clearGetActionListCache
()
del
provider
.
_actions
if
(
getattr
(
provider
,
'listActionInfos'
,
None
)
is
None
and
getattr
(
provider
,
'getActionListFor'
,
None
)
is
None
and
...
...
@@ -76,9 +78,10 @@ class ActionsTool(BaseTool, ActionProviderBase, CMFCore_ActionsTool):
action_providers
.
remove
(
provider_name
)
self
.
action_providers
=
tuple
(
action_providers
)
security
.
declarePrivate
(
'getActionListFor'
)
def
getActionListFor
(
self
,
ob
=
None
):
"""Return all actions applicable to the object"""
security
.
declareProtected
(
Permissions
.
AccessContentsInformation
,
'getActionInformationList'
)
def
getActionInformationList
(
self
):
"""Return all Action Information objects stored on this portal type"""
old_actions
=
self
.
_actions
or
()
if
old_actions
:
LOG
(
'OldActionsTool'
,
WARNING
,
"Converting portal_actions..."
)
...
...
@@ -87,8 +90,15 @@ class ActionsTool(BaseTool, ActionProviderBase, CMFCore_ActionsTool):
self
.
_importOldAction
(
action_info
)
LOG
(
'OldActionsTool'
,
WARNING
,
"... portal_actions converted."
)
self
.
_actions
=
()
self
.
clearGetActionListCache
()
return
ActionProviderBase
.
getActionInformationList
(
self
)
security
.
declarePrivate
(
'getActionListFor'
)
def
getActionListFor
(
self
,
ob
=
None
):
"""Return all actions applicable to the object"""
if
ob
is
not
None
:
return
(
action
.
getCacheableAction
()
for
action
in
self
.
objectValues
()
)
return
self
.
getActionList
(
)
return
()
def
listFilteredActionsFor
(
self
,
object
=
None
):
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment