]> git.ipfire.org Git - people/shoehn/ipfire.org.git/blobdiff - webapp/handlers.py
adjust touch target on mobile Feature page
[people/shoehn/ipfire.org.git] / webapp / handlers.py
index 7d662dd8cd137c988f0f8fb459fbe1fcab712db5..8a2ca66f028fbb77697d04f369617ae0603a3509 100644 (file)
@@ -3,6 +3,7 @@
 #import httplib
 #import logging
 #import markdown2
+import operator
 import os
 #import random
 #import re
@@ -15,6 +16,7 @@ import tornado.web
 
 import backend
 
+from handlers_accounts import *
 from handlers_admin import *
 from handlers_base import *
 from handlers_boot import *
@@ -57,23 +59,30 @@ class IndexHandler(BaseHandler):
                This handler displays the welcome page.
        """
        def get(self):
-               # Get a list of the most recent news items and put them on the page.            
-               latest_news = self.news.get_latest(limit=3, locale=self.locale)
-
-               # Get a list of the most recent planet posts.
-               planet_posts = self.planet.get_entries(limit=3)
-
                # Get the latest release.
                latest_release = self.releases.get_latest()
-               latest_release_unstable = self.releases.get_latest_unstable()
+
+               # Get a list of the most recent news items and put them on the page.            
+               latest_news = self.get_latest_news()
 
                # Interesting items from the wishlist.
-               wishlist_items = self.wishlist.get_hot_wishes()
+               hottest_wish = self.wishlist.get_hottest_wish()
 
                return self.render("index.html", latest_news=latest_news,
-                       planet_posts=planet_posts, latest_release=latest_release,
-                       latest_release_unstable=latest_release_unstable,
-                       wishlist_items=wishlist_items)
+                       latest_release=latest_release, hottest_wish=hottest_wish)
+
+       def get_latest_news(self, count=5):
+               latest_news = []
+
+               for news in self.news.get_latest(limit=count):
+                       latest_news.append(("news", news))
+
+               for post in self.planet.get_entries(limit=count):
+                       latest_news.append(("planet", post))
+
+               latest_news.sort(key=operator.itemgetter(1), reverse=True)
+
+               return latest_news[:count]
 
 
 class StaticHandler(BaseHandler):
@@ -125,7 +134,17 @@ class GeoIPHandler(BaseHandler):
 
 class DonateHandler(BaseHandler):
        def get(self):
+               reason_for_transfer = self.get_argument("reason_for_transfer", None)
+
                # Interesting items from the wishlist.
                wishlist_items = self.wishlist.get_hot_wishes()
 
-               self.render("donate.html", wishlist_items=wishlist_items)
+               self.render("donate.html", wishlist_items=wishlist_items,
+                       reason_for_transfer=reason_for_transfer)
+
+
+class DownloadHandler(BaseHandler):
+       def get(self):
+               release = self.releases.get_latest()
+
+               self.render("download.html", release=release)