Changeset 502
- Timestamp:
- 09/29/08 14:32:07 (5 years ago)
- File:
-
- 1 edited
-
trunk/plugins/menusplugin/tracmenus/web_ui.py (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/plugins/menusplugin/tracmenus/web_ui.py
r486 r502 3 3 # Copyright 2008 Optaros, Inc. 4 4 # 5 import re 5 6 6 7 from trac.core import * … … 12 13 class MenuManagerModule(Component): 13 14 implements(IRequestFilter, ITemplateProvider) 14 managed_menus = ListOption('menu-custom', 'managed_menus', 'mainnav,metanav', sep=',', doc=""" """)15 managed_menus = ListOption('menu-custom', 'managed_menus', 'mainnav,metanav', sep=',', doc=""" """) 15 16 serve_ui_files = BoolOption('menu-custom', 'serve_ui_files', 'true') 16 17 … … 27 28 def post_process_request(self, req, template, data, content_type): 28 29 req.chrome['nav_orig'] = req.chrome['nav'].copy() 30 if 'ctxtnav' in self.managed_menus and 'ctxtnav' in req.chrome: 31 req.chrome['nav_orig']['ctxtnav']=[dict(name='ctxtnav_'+str(idx), label=ctx_label) 32 for idx, ctx_label in enumerate(req.chrome['ctxtnav'])] 29 33 for menu_name in self.managed_menus: 30 34 req.chrome['nav'][menu_name] = list(self._get_menu(req, menu_name, 31 35 req.chrome['nav_orig'])) 36 if menu_name=='ctxtnav': 37 req.chrome['ctxtnav'] = [ ctxt_item.get('label') for ctxt_item in req.chrome['nav'][menu_name] ] 38 32 39 if self.serve_ui_files: 33 40 add_script(req, 'tracmenus/js/superfish.js') … … 47 54 for option in sorted(menu_orig+[{'name':key} for key in config_menu.keys()], 48 55 key=lambda x:config_menu.get(x['name'],{}).get('order','0')): 49 if 'visited' in tree_menu.get(option['name'],[]) or config_menu.get(option['name'],{}).get('enabled', True)==False: 56 if 'visited' in tree_menu.get(option['name'],[]) \ 57 or config_menu.get(option['name'],{}).get('enabled', True)==False \ 58 or config_menu.get(option['name'],{}).get('if_path_info', True)==False: 50 59 continue 51 60 name=option['name'] … … 98 107 menu[name].setdefault('label', html.a())(value) 99 108 continue 109 elif prop_name=='path_info': 110 menu[name]['if_path_info'] = re.match(value, req.path_info) and True or False 100 111 menu[name][prop_name]=value 101 112 return menu, options
Note: See TracChangeset
for help on using the changeset viewer.
