source: products/quintagroup.dropdownmenu/trunk/quintagroup/dropdownmenu/browser/menu.py @ 3153

Last change on this file since 3153 was 3153, checked in by vmaksymiv, 13 years ago

pyflakes fixes

  • Property svn:eol-style set to native
File size: 1.6 KB
Line 
1# -*- coding: utf-8 -*-
2from zope.interface import implements
3
4from Products.CMFPlone.browser.navtree import SitemapQueryBuilder
5from Products.CMFPlone.browser.navtree import DefaultNavtreeStrategy
6
7from plone.app.layout.navigation.interfaces import INavtreeStrategy
8from plone.app.layout.navigation.interfaces import INavigationQueryBuilder
9
10from quintagroup.dropdownmenu.util import getDropDownMenuSettings
11
12
13class DropDownMenuQueryBuilder(SitemapQueryBuilder):
14
15    implements(INavigationQueryBuilder)
16
17    def __init__(self, context):
18        super(DropDownMenuQueryBuilder, self).__init__(context)
19        self.context = context
20
21        # customize depth according to dropdown menu settings
22        if self._settings.content_tabs_level > 0:
23            self.query['path']['depth'] = self._settings.content_tabs_level
24        elif 'depth' in self.query['path']:
25            del self.query['path']['depth']
26
27        # constrain non-folderish objects if required
28        if not self._settings.show_nonfolderish_tabs:
29            self.query['is_folderish'] = True
30
31    @property
32    def _settings(self):
33        """Fetch dropdown menu settings registry"""
34        return getDropDownMenuSettings(self.context)
35
36
37class DropDownMenuStrategy(DefaultNavtreeStrategy):
38
39    implements(INavtreeStrategy)
40
41    def __init__(self, context, view=None):
42        super(DropDownMenuStrategy, self).__init__(context, view)
43        self.bottomLevel = self._settings.content_tabs_level
44
45    @property
46    def _settings(self):
47        """Fetch dropdown menu settings registry"""
48        return getDropDownMenuSettings(self.context)
Note: See TracBrowser for help on using the repository browser.