def test_make_remove_menu(self): menu_append('Bogosity', 'Bogus') assert len( shared_cache.getMenu('Bogus')) > 0, "Didn't find the menu 'Bogus'" shared_cache.removeMenu('Bogus') assert len( shared_cache.getMenu('Bogus')) == 0, "Found the menu 'Bogus'"
def url_from_menu(menuname, menupath): menu = shared_cache.getMenu(menuname) menupath = [x.strip() for x in menupath.split('||')] for item in menu: if menu[item]._mpath == menupath: return menu[item]._url return None
def render_menu(menuname, vertical=False, active=None): global jquery_bgiframe_js, jquery_dimensions_js, jquery_jdmenu_js, jquery_js, jquery_position_js, jquery_jdmenu_css, sortorder, use_tw2 if jquery_jdmenu_js is None: init_resources() if use_tw2: if config.get('tgext_menu', {}).get('inject_js', True): jquery_jdmenu_js.prepare() if config.get('tgext_menu', {}).get('inject_css', False): jquery_jdmenu_css.prepare() else: if config.get('tgext_menu', {}).get('inject_js', True): jquery_js.inject() jquery_bgiframe_js.inject() jquery_dimensions_js.inject() jquery_position_js.inject() jquery_jdmenu_js.inject() if config.get('tgext_menu', {}).get('inject_css', False): jquery_jdmenu_css.inject() menutree = OutputEntry(menuname) menu = shared_cache.getMenu(menuname) shortmenu = [ menu[key] for key in filter(lambda x: permission_met(menu[x]), menu.keys()) ] if menuname in callbacks: for callback in callbacks[menuname]: try: shortmenu.extend(callback(menuname)) except: pass if active: splitpath = [x.strip() for x in active.split('||')] else: splitpath = None for menuitem in sorted(shortmenu, sort_entry): if menuitem._mpath == splitpath: extras = deepcopy(menuitem.extras) extras['class'].append('active') else: extras = menuitem.extras menutree.appendPath(menuitem._mpath, str(menuitem._url), extras, menuitem.icon) return divmenu.render_unicode(menulist=menutree, name=menuname, vertical_menu=vertical)
def render_menu(menuname, vertical=False, active=None): global jquery_bgiframe_js, jquery_dimensions_js, jquery_jdmenu_js, jquery_js, jquery_position_js, jquery_jdmenu_css, sortorder, use_tw2 if jquery_jdmenu_js is None: init_resources() if use_tw2: if config.get('tgext_menu', {}).get('inject_js', True): jquery_jdmenu_js.prepare() if config.get('tgext_menu', {}).get('inject_css', False): jquery_jdmenu_css.prepare() else: if config.get('tgext_menu', {}).get('inject_js', True): jquery_js.inject() jquery_bgiframe_js.inject() jquery_dimensions_js.inject() jquery_position_js.inject() jquery_jdmenu_js.inject() if config.get('tgext_menu', {}).get('inject_css', False): jquery_jdmenu_css.inject() menutree = OutputEntry(menuname) menu = shared_cache.getMenu(menuname) shortmenu = [menu[key] for key in filter(lambda x: permission_met(menu[x]), menu.keys())] if menuname in callbacks: for callback in callbacks[menuname]: try: shortmenu.extend(callback(menuname)) except: pass if active: splitpath = [x.strip() for x in active.split('||')] else: splitpath = None for menuitem in sorted(shortmenu, sort_entry): if menuitem._mpath == splitpath: extras = deepcopy(menuitem.extras) extras['class'].append('active') else: extras = menuitem.extras menutree.appendPath(menuitem._mpath, str(menuitem._url), extras, menuitem.icon) return divmenu.render_unicode(menulist=menutree, name=menuname, vertical_menu=vertical)
def test_make_remove_menu(self): menu_append('Bogosity', 'Bogus') assert len(shared_cache.getMenu('Bogus')) > 0, "Didn't find the menu 'Bogus'" shared_cache.removeMenu('Bogus') assert len(shared_cache.getMenu('Bogus')) == 0, "Found the menu 'Bogus'"