示例#1
0
 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])
示例#2
0
文件: menu.py 项目: naprsa/dmw
 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
示例#3
0
    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
示例#4
0
 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
示例#5
0
    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
示例#6
0
 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
示例#7
0
    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
示例#8
0
 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
示例#9
0
    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
示例#10
0
文件: menu.py 项目: jason790/Caturra
    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
示例#11
0
    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
示例#12
0
    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
示例#13
0
文件: menu.py 项目: bethlakshmi/GBE2
    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
示例#14
0
文件: menu.py 项目: kremazar/Django
 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}),
         ]
示例#15
0
 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
示例#16
0
 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]
示例#17
0
 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
示例#18
0
    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
示例#19
0
    def get_nodes(self, request):
        nodes = []

        node = NavigationNode(_('Week'), '#', 7202)
        nodes.append(node)
        node = NavigationNode(_('Two weeks'), '#', 7203)
        nodes.append(node)

        return nodes
示例#20
0
 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
示例#21
0
    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
示例#22
0
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
示例#23
0
 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
示例#24
0
文件: menu.py 项目: techdubb/596acres
 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
示例#25
0
    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
示例#26
0
 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
示例#27
0
 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
示例#28
0
 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
示例#29
0
文件: menu.py 项目: kremazar/Django
 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
示例#30
0
文件: menu.py 项目: PhiTheta/ISON
 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