webmcp

annotate demo-app/app/main/_filter_view/30_topnav.lua @ 91:2f8d8edd1836

URL parsing inside WebMCP to simplify webserver configuration
author jbe
date Wed Oct 10 17:41:46 2012 +0200 (2012-10-10)
parents 9fdfb27f8e67
children 774a891dc74f
rev   line source
jbe/bsw@0 1 -- display navigation only, if user is logged in
jbe/bsw@0 2 if app.session.user_id == nil then
jbe/bsw@0 3 execute.inner()
jbe/bsw@0 4 return
jbe/bsw@0 5 end
jbe/bsw@0 6
jbe/bsw@0 7 slot.select("topnav", function()
jbe/bsw@0 8 ui.link{
jbe/bsw@0 9 attr = { class = "nav" },
jbe/bsw@0 10 text = _"Home",
jbe/bsw@0 11 module = "index",
jbe/bsw@0 12 view = "index"
jbe/bsw@0 13 }
jbe/bsw@0 14 ui.link{
jbe/bsw@0 15 attr = { class = "nav" },
jbe/bsw@0 16 text = _"Media",
jbe/bsw@0 17 module = "medium"
jbe/bsw@0 18 }
jbe/bsw@0 19 ui.link{
jbe/bsw@0 20 attr = { class = "nav" },
jbe/bsw@0 21 text = _"Media types",
jbe/bsw@0 22 module = "media_type"
jbe/bsw@0 23 }
jbe/bsw@0 24 ui.link{
jbe/bsw@0 25 attr = { class = "nav" },
jbe/bsw@0 26 text = _"Genres",
jbe/bsw@0 27 module = "genre"
jbe/bsw@0 28 }
jbe/bsw@0 29 if app.session.user.admin then
jbe/bsw@0 30 ui.link{
jbe/bsw@0 31 attr = { class = "nav" },
jbe/bsw@0 32 text = _"Users",
jbe/bsw@0 33 module = "user"
jbe/bsw@0 34 }
jbe/bsw@0 35 end
jbe/bsw@0 36 ui.container{
jbe/bsw@0 37 attr = { class = "nav lang_chooser" },
jbe/bsw@0 38 content = function()
jbe/bsw@0 39 for i, lang in ipairs{"en", "de", "es"} do
jbe/bsw@0 40 ui.container{
jbe/bsw@0 41 content = function()
jbe/bsw@0 42 ui.link{
jbe/bsw@0 43 content = function()
jbe/bsw@0 44 ui.image{
jbe/bsw@0 45 static = "lang/" .. lang .. ".png",
jbe/bsw@0 46 attr = { alt = lang }
jbe/bsw@0 47 }
jbe/bsw@0 48 slot.put(lang)
jbe/bsw@0 49 end,
jbe/bsw@0 50 module = "index",
jbe/bsw@0 51 action = "set_lang",
jbe/bsw@0 52 params = { lang = lang },
jbe/bsw@0 53 routing = {
jbe/bsw@0 54 default = {
jbe/bsw@0 55 mode = "redirect",
jbe/bsw@0 56 module = request.get_module(),
jbe/bsw@0 57 view = request.get_view(),
jbe@91 58 id = param.get_id_raw(),
jbe@91 59 params = param.get_all_raw()
jbe/bsw@0 60 }
jbe/bsw@0 61 }
jbe/bsw@0 62 }
jbe/bsw@0 63 end
jbe/bsw@0 64 }
jbe/bsw@0 65 end
jbe/bsw@0 66 end
jbe/bsw@0 67 }
jbe/bsw@0 68
jbe/bsw@0 69 ui.link{
jbe/bsw@0 70 attr = { class = "nav" },
jbe/bsw@0 71 text = _"Logout",
jbe/bsw@0 72 module = "index",
jbe/bsw@0 73 action = "logout",
jbe/bsw@0 74 redirect_to = {
jbe/bsw@0 75 ok = {
jbe/bsw@0 76 module = "index",
jbe/bsw@0 77 view = "login"
jbe/bsw@0 78 }
jbe/bsw@0 79 }
jbe/bsw@0 80 }
jbe/bsw@0 81 end)
jbe/bsw@0 82
jbe/bsw@0 83 execute.inner()

Impressum / About Us