pages: Tree.list_sorted
authorTero Marttila <terom@paivola.fi>
Sun, 14 Sep 2014 03:39:52 +0300
changeset 211 437c611c1caa
parent 210 13848af48cb5
child 212 695275f5b987
pages: Tree.list_sorted
qmsk_www_pages/pages.py
qmsk_www_pages/templates/pages/page.html
--- a/qmsk_www_pages/pages.py	Sun Sep 14 03:39:40 2014 +0300
+++ b/qmsk_www_pages/pages.py	Sun Sep 14 03:39:52 2014 +0300
@@ -136,7 +136,9 @@
 
     def list (self):
         """
-            Lists all Trees and Pages for this Tree
+            Lists all Trees and Pages for this Tree.
+
+            Yields (name, url, page_type or None, title)
         """
         
         for path, name, file_type in self.scan():
@@ -144,7 +146,7 @@
 
             # trees
             if os.path.isdir(path):
-                yield self.url(tree=name), name, None, title
+                yield name, self.url(tree=name), None, title
 
             if name == self.INDEX:
                 continue
@@ -156,7 +158,10 @@
             if file_type not in TYPES:
                 continue
 
-            yield self.url(page=name), name, file_type, title
+            yield name, self.url(page=name), file_type, title
+
+    def list_sorted (self):
+        return sorted(list(self.list()))
 
     def page (self, name):
         """
--- a/qmsk_www_pages/templates/pages/page.html	Sun Sep 14 03:39:40 2014 +0300
+++ b/qmsk_www_pages/templates/pages/page.html	Sun Sep 14 03:39:52 2014 +0300
@@ -23,7 +23,7 @@
                 <hr />
                 {% endif %}
                 <ul class="nav">
-                    {% for page, name, type, title in tree.list %}
+                    {% for name, page, type, title in tree.list_sorted %}
                     <li class="page-tree-item{% if type %} page-tree-{{type}}{% else %} page-tree-tree{% endif %}{% if name == tree_name %} page-tree-active{% endif %}">
                         <a href="{% url 'page' page %}">
                             {% if not type %}