]>
git.ipfire.org Git - people/shoehn/ipfire.org.git/blob - www/webapp/ui_modules.py
8 from helpers
import Item
10 class UIModule(tornado
.web
.UIModule
):
11 def render_string(self
, *args
, **kwargs
):
13 "link" : self
.handler
.link
,
15 return tornado
.web
.UIModule
.render_string(self
, *args
, **kwargs
)
18 class MenuItemModule(UIModule
):
19 def render(self
, item
):
20 if self
.request
.uri
.endswith(item
.uri
):
23 if not item
.uri
.startswith("http://"):
24 item
.uri
= "/%s%s" % (self
.locale
.code
[:2], item
.uri
,)
26 if type(item
.name
) == type({}):
27 item
.name
= item
.name
[self
.locale
.code
[:2]]
29 return self
.render_string("modules/menu-item.html", item
=item
)
32 class MenuModule(UIModule
):
33 def render(self
, menuclass
=None):
35 menuclass
= menu
.Menu("menu.json")
36 return self
.render_string("modules/menu.html", menuitems
=menuclass
.items
)
39 class NewsItemModule(UIModule
):
40 def render(self
, item
):
41 item
= Item(**item
.args
.copy())
42 for attr
in ("subject", "content"):
43 if type(item
[attr
]) != type({}):
45 item
[attr
] = item
[attr
][self
.locale
.code
[:2]]
47 return self
.render_string("modules/news-item.html", item
=item
)
50 #class SidebarModule(UIModule):
51 # def render(self, sidebar):
52 # return self.render_string("modules/sidebar.html", items=sidebar.items)
55 class SidebarItemModule(UIModule
):
57 return self
.render_string("modules/sidebar-item.html")
60 class SidebarReleaseModule(UIModule
):
61 releases
= releases
.Releases()
64 return self
.render_string("modules/sidebar-release.html",
65 releases
=self
.releases
)
68 class ReleaseItemModule(UIModule
):
69 def render(self
, item
):
70 return self
.render_string("modules/release-item.html", item
=item
)
73 class SidebarBannerModule(UIModule
):
74 def render(self
, item
):
75 return self
.render_string("modules/sidebar-banner.html", item
=item
)
78 class BuildModule(UIModule
):
79 def render(self
, build
):
80 return self
.render_string("modules/builds.html", build
=build
)