示例#1
0
文件: menu.py 项目: samjacoby/katran
    def get_nodes(self, request):

        nodes = []
        stamps = []
        families = []
        namespace = 'stamp'
        
        for d in Designer.cobjects.list():
            designer_key = '%s' % d.normalized_name
            designer_node = NavigationNode(d.name, 
                                           d.get_absolute_url(), 
                                           designer_key,
                                           parent_namespace=namespace,
                                           attr={'type':'designer', 'stamp_type': d.stamp_type})
            nodes.append(designer_node)
        
            for f in Family.objects.filter(is_published=True, 
                                           in_navigation=True,
                                           designer = d):
                family_key = '%s-%s' % (designer_key, f.order)
                family_node = NavigationNode(f.order, 
                                             f.get_absolute_url(), 
                                             family_key, 
                                             designer_key, 
                                             parent_namespace=namespace,
                                             attr={'type':'family'})
                try:
                    family_node.next = None
                    family_node.prev = families[-1]
                    families[-1].next = family_node
                except IndexError:
                    family_node.prev = None
                families.append(family_node)
        
                for s in Stamp.objects.filter(is_published=True, 
                                              in_navigation=True, 
                                              family = f):
                    stamp_key = '%s-%s' % (family_key, s.order)
                    stamp_node = NavigationNode(
                            s.order, 
                            s.get_absolute_url(), 
                            stamp_key, 
                            family_key, 
                            parent_namespace=namespace,
                            attr={'type':'stamp', 'value':s.value})
                    try:
                        stamp_node.next = None
                        stamp_node.prev = stamps[-1]
                        families[-1].next = stamp_node
                    except IndexError:
                        stamp_node.prev = None
                    stamps.append(stamp_node)
        
        nodes.extend(families)
        nodes.extend(stamps)
        return nodes
示例#2
0
文件: menu.py 项目: samjacoby/katran
 def get_nodes(self, request):
     """
     This method is used to build the menu tree.
     """
     nodes = []
     namespace = 'typography'
     for typography in Typography.manager.get_all_typography():
         node = NavigationNode(typography.order, '%s' % typography.get_absolute_url(), 
             typography.order,
             parent_namespace=namespace,
             attr={'type':'typography'}
         )
         try:
             node.prev = nodes[-1]
             nodes[-1].next = node
         except IndexError:
             pass
         nodes.append(node)
     return nodes
示例#3
0
文件: menu.py 项目: samjacoby/katran
 def get_nodes(self, request):
     """
     This method is used to build the menu tree.
     """
     nodes = []
     namespace = 'book'
     for book in Book.manager.get_all_books():
         node = NavigationNode(book.order, '%s' % book.get_absolute_url(),
             book.order,
             parent_namespace=namespace,
             attr={'type':'book'}
         )
         try:
             node.prev = nodes[-1]
             nodes[-1].next = node
         except IndexError:
             pass
         nodes.append(node)
     return nodes