def error_menu(request): menu = BaseMenu(header='Error Menu', class_='errormenu') menu.append(html.tr(html.td(html.p('Explanation: ${explanation}')))) menu.append(html.tr(html.td(html.p('Detail: ${detail}')))) menu.append_new_entry('back', request.referrer) menu.append_new_entry('home', request.route_url('home')) return menu
def test_custom_name(self): custom_menu = BaseMenu(menu_name='CustomMenu') assert custom_menu.menu_name == 'CustomMenu'
def test_pause_method(self): base_menu = BaseMenu() assert base_menu.pause(seconds=1) is True
def test_seconds_fail_string(self): with pytest.raises(MenusError): base_menu = BaseMenu() base_menu.pause(seconds='5')
def test_enter_fail_number(self): with pytest.raises(MenusError): base_menu = BaseMenu() base_menu.pause(enter_to_continue=5)
def test_enter_fail_string(self): with pytest.raises(MenusError): base_menu = BaseMenu() base_menu.pause(enter_to_continue='test')
def test_base_menu_defaults(self): base_menu = BaseMenu() assert base_menu.menu_name == 'BaseMenu' assert len(base_menu.options) == 0 assert base_menu.message is None
def prepare_main_data(request): layout = request.layout_manager.layout layout.title = 'Main Page' layout.header = 'Main Page' menu = BaseMenu() menu.set_header('Main Menu') if 'user' not in request.session: url = request.route_url('login') menu.append_new_entry('login', url) else: user = request.session['user'] if user.username == 'admin': url = request.route_url('admin') menu.append_new_entry('Administer Site', url) url = request.route_url('rssviewer', context='listfeeds', feed=None) menu.append_new_entry('rss', url) url = request.route_url('view_wiki') menu.append_new_entry('wiki', url) url = request.route_url('consult') menu.append_new_entry('Consultant', url) layout.main_menu = menu