Skip to content

Commit

Permalink
Show extra factory menu items for parent of default page.
Browse files Browse the repository at this point in the history
  • Loading branch information
mauritsvanrees committed Mar 3, 2014
1 parent 5715d30 commit 6d9851f
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 4 deletions.
3 changes: 2 additions & 1 deletion docs/HISTORY.txt
Expand Up @@ -5,7 +5,8 @@ Changelog
2.2.3 (unreleased)
------------------

- Nothing changed yet.
- Show extra factory menu items for parent of default page.
[maurits]


2.2.2 (2013-08-26)
Expand Down
19 changes: 16 additions & 3 deletions ftw/contentmenu/menu.py
@@ -1,4 +1,4 @@
from Acquisition import aq_inner
from Acquisition import aq_inner, aq_parent
from Products.CMFCore.interfaces import IActionProvider
from Products.CMFCore.utils import getToolByName, _checkPermission
from Products.CMFPlone import PloneMessageFactory as _
Expand Down Expand Up @@ -204,7 +204,13 @@ def available(self):
actions_tool = getToolByName(self.context, 'portal_actions')
provider = getattr(actions_tool, 'portal_types', None)
if IActionProvider.providedBy(provider):
type_actions = provider.listActionInfos(object=self.context,
# Get folder_factories of container.
context = aq_inner(self.context)
if self._addingToParent():
container = aq_parent(context)
else:
container = context
type_actions = provider.listActionInfos(object=container,
category='folder_factories', max=1)
if len(type_actions) > 0:
return True
Expand All @@ -225,7 +231,14 @@ def getMenuItems(self, context, request):
actions_tool = getToolByName(aq_inner(context), 'portal_actions')
provider = getattr(actions_tool, 'portal_types', None)
if IActionProvider.providedBy(provider):
type_actions = provider.listActionInfos(object=context,
# Get folder_factories of container.
context_state = getMultiAdapter((context, request),
name='plone_context_state')
if context_state.is_structural_folder():
container = context
else:
container = context_state.folder()
type_actions = provider.listActionInfos(object=container,
category='folder_factories')

if type_actions:
Expand Down

0 comments on commit 6d9851f

Please sign in to comment.