]> git.ipfire.org Git - ipfire.org.git/blame - www/webapp/ui_modules.py
Initial checkin.
[ipfire.org.git] / www / webapp / ui_modules.py
CommitLineData
81675874 1#!/usr/bin/python
2
3import tornado.web
4
5import menu
6import releases
7
8class UIModule(tornado.web.UIModule):
9 def render_string(self, *args, **kwargs):
10 kwargs.update({
11 "link" : self.handler.link,
12 })
13 return tornado.web.UIModule.render_string(self, *args, **kwargs)
14
15
16class MenuItemModule(UIModule):
17 def render(self, item):
18 if self.request.uri.endswith(item.link):
19 item.active = True
20
21 if type(item.name) == type({}):
22 item.name = item.name[self.locale.code[:2]]
23
24 return self.render_string("modules/menu-item.html", item=item)
25
26
27class MenuModule(UIModule):
28 #def javascript_files(self):
29 # return ["js/jquery.megamenu.js",]
30 #
31 #def embedded_javascript(self):
32 # return """
33 # $(document).ready(function(){
34 # $(".MegaMenuLink").megamenu(".MegaMenuContent");
35 # });"""
36
37 def render(self, menuclass=None):
38 return "" # XXX
39 if not menuclass:
40 menuclass = menu.Menu("menu.json")
41 return self.render_string("modules/menu.html", menuitems=menuclass.items)
42
43
44class NewsItemModule(UIModule):
45 def render(self, item):
46 for attr in ("subject", "content"):
47 if type(item[attr]) != type({}):
48 continue
49 item[attr] = item[attr][self.locale.code[:2]]
50
51 return self.render_string("modules/news-item.html", item=item)
52
53
54#class SidebarModule(UIModule):
55# def render(self, sidebar):
56# return self.render_string("modules/sidebar.html", items=sidebar.items)
57
58
59class SidebarItemModule(UIModule):
60 def render(self):
61 return self.render_string("modules/sidebar-item.html")
62
63
64class SidebarReleaseModule(UIModule):
65 releases = releases.Releases()
66
67 def render(self):
68 return self.render_string("modules/sidebar-release.html",
69 releases=self.releases)
70
71
72class ReleaseItemModule(UIModule):
73 def render(self, item):
74 return self.render_string("modules/release-item.html", item=item)
75
76
77class SidebarBannerModule(UIModule):
78 def render(self, item):
79 return self.render_string("modules/sidebar-banner.html", item=item)
80
81
82class BuildModule(UIModule):
83 def render(self, build):
84 return self.render_string("modules/builds.html", build=build)