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

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

pyflakes fixes

  • Property svn:eol-style set to native
File size: 1.6 KB
RevLine 
[1197]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
[1319]10from quintagroup.dropdownmenu.util import getDropDownMenuSettings
[1197]11
12
13class DropDownMenuQueryBuilder(SitemapQueryBuilder):
14
15    implements(INavigationQueryBuilder)
16
17    def __init__(self, context):
18        super(DropDownMenuQueryBuilder, self).__init__(context)
[1319]19        self.context = context
[1200]20
21        # customize depth according to dropdown menu settings
[1197]22        if self._settings.content_tabs_level > 0:
23            self.query['path']['depth'] = self._settings.content_tabs_level
[3151]24        elif 'depth' in self.query['path']:
[1197]25            del self.query['path']['depth']
26
[1200]27        # constrain non-folderish objects if required
28        if not self._settings.show_nonfolderish_tabs:
29            self.query['is_folderish'] = True
30
[1197]31    @property
32    def _settings(self):
33        """Fetch dropdown menu settings registry"""
[1319]34        return getDropDownMenuSettings(self.context)
[1197]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"""
[1319]48        return getDropDownMenuSettings(self.context)
Note: See TracBrowser for help on using the repository browser.