Пример #1
0
 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'"
Пример #2
0
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
Пример #3
0
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
Пример #4
0
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)
Пример #5
0
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)
Пример #6
0
 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'"