def test_build_nodes_inner_for_worst_case_menu(self): ''' Tests the worst case scenario node5 node4 node3 node2 node1 ''' node1 = NavigationNode('Test1', '/test1/', 1, 2) node2 = NavigationNode('Test2', '/test2/', 2, 3) node3 = NavigationNode('Test3', '/test3/', 3, 4) node4 = NavigationNode('Test4', '/test4/', 4, 5) node5 = NavigationNode('Test5', '/test5/', 5, None) menu_class_name = 'Test' nodes = [node1,node2,node3,node4,node5,] len_nodes = len(nodes) final_list = _build_nodes_inner_for_one_menu(nodes, menu_class_name) self.assertEqual(len(final_list), len_nodes) self.assertEqual(node1.parent, node2) self.assertEqual(node2.parent, node3) self.assertEqual(node3.parent, node4) self.assertEqual(node4.parent, node5) self.assertEqual(node5.parent, None) self.assertEqual(node1.children, []) self.assertEqual(node2.children, [node1]) self.assertEqual(node3.children, [node2]) self.assertEqual(node4.children, [node3]) self.assertEqual(node5.children, [node4])
def get_nodes(self, request): team_node = NavigationNode(_('D-Team'), '/about-us/d-team/', 1) story_node = NavigationNode(_('D-Story'), '/about-us/d-story/', 2) # mv_node = NavigationNode( # _('Mission&Vision'), '/about-us/mission-vision/', 3) nodes = [team_node, story_node] # mv_node] return nodes
def get_nodes(self, request): nodes = [] attributes = {'hidden': HIDE_CATEGORIES_MENU} categories_menu_id = 'blog-categories' nodes.append( NavigationNode(_('Categories'), reverse('aldryn_blog:category-list'), categories_menu_id, attr=attributes)) language = get_language_from_request(request) categories = Post.published.get_categories(language) for category in categories: category_name = category.lazy_translation_getter('name') category_slug = category.lazy_translation_getter('slug') category_key = 'blog-category-%s' % category_slug nodes.append( NavigationNode(category_name, reverse('aldryn_blog:category-posts', kwargs={ 'category': category_slug, }), category_key, categories_menu_id, attr=attributes)) return nodes
def get_nodes(self, request): nodes = [] n1 = NavigationNode(_('Add'), reverse('avatar:avatar_add'),1, attr={'visible_for_anonymous': False}) n2 = NavigationNode(_('Change'), reverse('avatar:avatar_change'),2, attr={'visible_for_anonymous': False}) n3 = NavigationNode(_('Delete'), reverse('avatar:avatar_delete'),3, attr={'visible_for_anonymous': False}) nodes += [n1,n2,n3] return nodes
def get_nodes(self, request): """ This method is used to build the menu tree. """ nodes = [] # node = NavigationNode( # title='dashboard', # url=reverse('polls:detail', args=(poll.pk,)), # id=1, # unique id for this node within the menu # ) nodes.append( NavigationNode(title='My Issues', url='/issues/list', id=1)) nodes.append(NavigationNode(title='New Issue', url='/issues/new', id=2)) nodes.append( NavigationNode(title='Dashboard', url='/issues/dashboard', id=3)) nodes.append( NavigationNode(title='By Location', url='/issues/location', id=3)) nodes.append(NavigationNode(title='SITREP', url='/issues/sitrep', id=4)) # n = NavigationNode(_('sample settings page'), "/bye/", 2) # nodes.append(n) return nodes
def get_nodes(self, request): nodes = [] menu_id = 1000 page = _get_page_by_untyped_arg('project-landing', request, settings.SITE_ID) nodes.append( NavigationNode('Projects Overview', page.get_absolute_url(), page.id)) for project in Project.objects.filter(topic__isnull=True): # the menu tree consists of NavigationNode instances # Each NavigationNode takes a label as its first argument, a URL as # its second argument and a (for this tree) unique id as its third # argument. node = NavigationNode(project.title, project.get_absolute_url(), menu_id) nodes.append(node) menu_id += 1 for topic in Topic.objects.all(): node = NavigationNode(topic.title, '', menu_id) nodes.append(node) menu_id += 1 for project in topic.project_set.all(): node = NavigationNode(project.title, project.get_absolute_url(), menu_id) nodes.append(node) menu_id += 1 return nodes
def get_nodes(self, request): nodes = [] node = NavigationNode(_('All Users'), reverse('profiles-profile-list'), 110) nodes.append(node) if request.user.is_active: node = NavigationNode( _('My Profile'), reverse('profiles-profile-detail', args=[request.user.username]), 111) nodes.append(node) node = NavigationNode(_('Edit my Profile'), reverse('profiles-profile-edit'), 121) nodes.append(node) if request.user.has_perm('invitation.change_invitation'): node = NavigationNode(_('My Invitations'), reverse('profiles-invitations'), 123) nodes.append(node) return nodes
def get_nodes(self, request): nodes = [ NavigationNode(_("Editor's Picks"), reverse("featured_movie_list"), 1), NavigationNode(_("Commercial Movies"), reverse("commercial_movie_list"), 2), NavigationNode(_("Independent Movies"), reverse("independent_movie_list"), 3), ] return nodes
def get_nodes(self, request): ret = [ NavigationNode(_("Log in"), reverse('login'), 1, attr={ 'visible_for_authenticated': False, 'pull_right': True, }), NavigationNode(request.user.username, "", 2, attr={ 'visible_for_anonymous': False, 'pull_right': True, }) ] if request.user.is_superuser: ret.append( NavigationNode(_("Administration"), reverse('full-admin:index'), 3, 2, attr={'visible_for_anonymous': False})) ret.append( NavigationNode(_("Log out"), reverse('logout'), 4, 2, attr={'visible_for_anonymous': False}), ) return ret
def get_nodes(self, request): """ This method is used to build the menu tree. """ # the menu tree consists of NavigationNode instances # Each NavigationNode takes a label as its first argument, a URL as # its second argument and a (for this tree) unique id as its third # argument. nodes = [ NavigationNode( "Bronze", "Bronze Plan", 1 ), NavigationNode( "Silver", "Silver Plan", 2 ), NavigationNode( "Gold", "Gold Plan", 3 ), ] for subscription in Subscription.objects.all(): node = NavigationNode( subscription.name, reverse('subscription:description', args=(subscription.pk,)), subscription.id ) nodes.append(node) return nodes
def get_nodes(self, request): """Return menu's node for Custom""" nodes = [] nodes.append( NavigationNode(_('Categories'), reverse('zinnia_category_list'), 'categories')) archives = [] attributes = {'hidden': False} for entry in Entry.published.all(): year = entry.creation_date.strftime('%Y') month = entry.creation_date.strftime('%m') month_text = format(entry.creation_date, 'b').capitalize() day = entry.creation_date.strftime('%d') key_archive_year = 'year-%s' % year key_archive_month = 'month-%s-%s' % (year, month) key_archive_day = 'day-%s-%s-%s' % (year, month, day) if not key_archive_year in archives: nodes.append( NavigationNode(year, reverse('zinnia_entry_archive_year', args=[year]), key_archive_year, attr=attributes)) archives.append(key_archive_year) return nodes
def get_nodes(self, request): nodes = [] attributes = {'hidden': HIDE_AUTHORS_MENU} authors_menu_id = 'blog-authors' nodes.append( NavigationNode(_('Authors'), reverse('aldryn_blog:author-list'), authors_menu_id, attr=attributes)) authors = generate_slugs(get_blog_authors()) for author in authors: author_name = author.get_full_name() author_slug = author.slug author_key = 'blog-author-%s' % author_slug nodes.append( NavigationNode(author_name, reverse('aldryn_blog:author-posts', kwargs={ 'slug': author_slug, }), author_key, authors_menu_id, attr=attributes)) return nodes
def get_nodes(self, request): """ menus for all users or potential users to do account management """ nodes = [] nodes.append( NavigationNode(_("Your Account"), "", 1, attr={'visible_for_anonymous': False})) nodes.append( NavigationNode(_("Your Expo"), reverse('gbe:home'), 2, 1, attr={'visible_for_anonymous': False})) nodes.append( NavigationNode(_("Update Profile"), reverse('gbe:profile_update'), 3, 1, attr={'visible_for_anonymous': False})) nodes.append( NavigationNode(_("Logout"), reverse('gbe:logout'), 4, 1, attr={'visible_for_anonymous': False})) return nodes
def get_nodes(self, request): return [ NavigationNode(_("Profile"), reverse(profile), 1, attr={'visible_for_anonymous': False}), NavigationNode(_("Log in"), reverse(login), 3, attr={'visible_for_authenticated': False}), NavigationNode(_("Sign up"), reverse(logout), 4, attr={'visible_for_authenticated': False}), NavigationNode(_("Log out"), reverse(logout), 2, attr={'visible_for_anonymous': False}), ]
def get_nodes(self, request): nodes = [ NavigationNode(_('Previous Events'), reverse('en:events_event_list_past'), 1), NavigationNode(_('Acres in Pictures'), reverse('en:photos_photoalbum_list'), 2), ] return nodes
def get_nodes(self, request): archive = NavigationNode(_('Archive'), '#', 0) for event in Event.objects.filter(end_time__lt=timezone.now()).exclude( id__exact=settings.EVENT_ID).order_by('start_time'): archive.children.append( NavigationNode(event.title, event.get_absolute_url(), event.id)) return [archive]
def get_nodes(self, request): nodes = list() nodes.append( NavigationNode('static fresh', '/static/fresh/', 'static fresh')) nodes.append( NavigationNode('sample2-root', reverse('sample2-root'), 'sample2-root')) return nodes
def get_nodes(self, request): nodes = [] if not CMSPLUGIN_NEWS3_ENABLE_DROPDOWN_MENU: return nodes try: years = months = days = slugs = [] for item in News3.published.all(): pub_date = item.pub_date if not pub_date.year in years: years.append(pub_date.year) nodes.append( NavigationNode( pub_date.year, reverse('cmsplugin_news3:news3_archive_year', kwargs={'year': pub_date.year}), pub_date.year)) months = [] if not pub_date.month in months: months.append(pub_date.month) nodes.append( NavigationNode( datetime.strftime(pub_date, '%B'), reverse('cmsplugin_news3:news3_archive_month', kwargs={ 'year': pub_date.year, 'month': datetime.strftime(pub_date, '%m'), }), datetime.strftime(pub_date, '%m'), pub_date.year)) days = [] if not pub_date.day in days: days.append(pub_date.day) nodes.append( NavigationNode( datetime.strftime(pub_date, '%d'), reverse('cmsplugin_news3:news3_archive_day', kwargs={ 'year': pub_date.year, 'month': datetime.strftime(pub_date, '%m'), 'day': datetime.strftime(pub_date, '%d'), }), datetime.strftime(pub_date, '%d'), datetime.strftime(pub_date, '%m'))) slugs = [] if not item.slug in slugs: slugs.append(item.slug) nodes.append( NavigationNode(item.title, item.get_absolute_url(), item.pk, datetime.strftime(pub_date, '%d'))) except: pass return nodes
def get_nodes(self, request): nodes = [] node = NavigationNode(_('Week'), '#', 7202) nodes.append(node) node = NavigationNode(_('Two weeks'), '#', 7203) nodes.append(node) return nodes
def get_nodes(self, req): nodes = [] nodes.append( NavigationNode('Geometric', reverse('problems.views.subindex_geometric'), 0)) nodes.append( NavigationNode('Control', reverse('problems.views.subindex_control'), 0)) return nodes
def get_nodes(self, request): nodes = [] compare = NavigationNode(_('compare'), reverse('compare'), 1, attr={'priority':1002}) candidates = NavigationNode(_('candidates'), reverse('candidates'), 2, attr={'priority':1001}) if not settings.CANDIDATE_LIST_SHOW_AFTER or settings.CANDIDATE_LIST_SHOW_AFTER <= datetime.now(): nodes.append(candidates) nodes.append(compare) return nodes
def get_nodes(request): logger.debug("Rebuilding news menu") res = [] items = News.published.all() years_done = [] months_done = [] days_done = [] slug_done = [] for item in items: date = item.pub_date if not date.year in years_done: years_done.append(date.year) year_node = NavigationNode( date.year, reverse('news_archive_year', kwargs=dict(year=date.year)), 'newsitem-year-%d' % (date.year, )) year_node.childrens = [] months_done = [] res.append(year_node) if not date.month in months_done: months_done.append(date.month) month_node = NavigationNode( datetime.strftime(date, '%B'), reverse('news_archive_month', kwargs=dict(year=date.year, month=datetime.strftime(date, '%m'))), 'newsitem-month-%d.%d' % (date.year, date.month)) month_node.childrens = [] days_done = [] year_node.childrens.append(month_node) if not date.day in days_done: days_done.append(date.day) day_node = NavigationNode( datetime.strftime(date, '%d'), reverse('news_archive_day', kwargs=dict(year=date.year, month=datetime.strftime(date, '%m'), day=datetime.strftime(date, '%d'))), 'newsitem-day-%d.%d.%d' % (date.year, date.month, date.day)) day_node.childrens = [] slug_done = [] month_node.childrens.append(day_node) if not item.slug in slug_done: slug_done.append(item.slug) item_node = NavigationNode(item.title, item.get_absolute_url(), 'newsitem-pk-%s' % (str(item.pk), )) item_node.childrens = [] day_node.childrens.append(item_node) return res
def get_nodes(self, request): nodes = [] if request.user.is_authenticated(): if utils.can_review_proposal(request.user, None) or request.user.is_staff: nodes.append(NavigationNode(_("Reviewable proposals"), reverse('reviews-available-proposals'), 'reviews-available')) if utils.can_review_proposal(request.user): nodes.append(NavigationNode(_("My reviews"), reverse('reviews-my-reviews'), 'reviews-mine')) nodes.append(NavigationNode(_("My proposals"), reverse('reviews-my-proposals'), 'reviews-my-proposals')) return nodes
def get_nodes(self, request): nodes = [ NavigationNode(_('Come to an Upcoming Event'), reverse('en:events_event_list'), 3), NavigationNode( _('Work With Us'), reverse('blog_archive_tagged_paginated', kwargs={'tag': 'opportunities'}), 4), ] return nodes
def get_nodes(self, request): nodes = [ NavigationNode("General Search", reverse("bibliography_search"), 1) ] if request.user.has_perm("bibliography.add_primarysource") and \ request.user.has_perm("bibliography.change_primarysource"): nodes.append( NavigationNode("Manage", reverse("bibliography_manage"), 2)) return nodes
def get_nodes(self, request): nodes = [] n = NavigationNode('static2 root page', "/fresh/", 1) n2 = NavigationNode('static2 settings page', "/bye/", 2) n3 = NavigationNode('static2 account page', "/hello/", 3) n4 = NavigationNode('static2 my profile page', "/hello/world/", 4, 3) nodes.append(n) nodes.append(n2) nodes.append(n3) nodes.append(n4) return nodes
def get_nodes(self, request): """Return menu's node for categories""" nodes = [] nodes.append( NavigationNode(_('Categories'), reverse('zinnia_category_list'), 'categories')) for category in Category.objects.all(): nodes.append( NavigationNode(category.title, category.get_absolute_url(), category.pk, 'categories')) return nodes
def _get_nodes(self, path='/'): node1 = NavigationNode('1', '/1/', 1) node2 = NavigationNode('2', '/2/', 2, 1) node3 = NavigationNode('3', '/3/', 3, 2) node4 = NavigationNode('4', '/4/', 4, 2) node5 = NavigationNode('5', '/5/', 5) nodes = [node1, node2, node3, node4, node5] tree = _build_nodes_inner_for_one_menu([n for n in nodes], "test") request = self.get_request(path) menu_pool.apply_modifiers(tree, request) return tree, nodes
def get_nodes(self, request): nodes = [] n = NavigationNode(_('sample root page'), "/", 1) n2 = NavigationNode(_('sample settings page'), "/bye/", 2) n3 = NavigationNode(_('sample account page'), "/hello/", 3) n4 = NavigationNode(_('sample my profile page'), "/hello/world/", 4, 3) nodes.append(n) nodes.append(n2) nodes.append(n3) nodes.append(n4) return nodes
def get_nodes(self, request): """Return menu's node for tags""" nodes = [] nodes.append( NavigationNode(_('Tags'), reverse('objectapp_tag_list'), 'tags')) for tag in tags_published(): nodes.append( NavigationNode( tag.name, reverse('objectapp_tag_detail', args=[tag.name]), tag.pk, 'tags')) return nodes