liquid_feedback_frontend
diff app/main/admin/index.lua @ 1184:8c65f5a029b0
Unified navigation in admin area
author | bsw |
---|---|
date | Thu Mar 26 20:38:08 2015 +0100 (2015-03-26) |
parents | 701a5cf6b067 |
children | fef745f9e22f |
line diff
1.1 --- a/app/main/admin/index.lua Thu Mar 26 20:37:47 2015 +0100 1.2 +++ b/app/main/admin/index.lua Thu Mar 26 20:38:08 2015 +0100 1.3 @@ -1,7 +1,10 @@ 1.4 -local units = Unit:get_flattened_tree{ active = true } 1.5 +local inactive = param.get("inactive", atom.boolean) 1.6 + 1.7 +local units = Unit:get_flattened_tree{ include_inactive = inactive } 1.8 + 1.9 local policies = Policy:build_selector{}:add_order_by("index"):exec() 1.10 1.11 -slot.put_into("title", _"Manage system settings") 1.12 +ui.titleAdmin() 1.13 1.14 ui.sidebar( "tab-members", function() 1.15 ui.sidebarHead( function() 1.16 @@ -102,12 +105,26 @@ 1.17 attr = { style = "margin-left: " .. ((unit.depth - 1)* 2) .. "em;" }, 1.18 content = function () 1.19 ui.heading { level = 1, content = function () 1.20 - ui.link{ text = unit.name, module = "admin", view = "unit_edit", id = unit.id } 1.21 + local class 1.22 + if unit.active == false then 1.23 + class = "inactive" 1.24 + end 1.25 + ui.link{ attr = { class = class }, text = unit.name, module = "admin", view = "unit_edit", id = unit.id } 1.26 end } 1.27 ui.tag { tag = "ul", attr = { class = "ul" }, content = function () 1.28 - for i, area in ipairs(unit:get_reference_selector("areas"):add_order_by("name"):exec()) do 1.29 + local areas 1.30 + if not inactive then 1.31 + areas = unit:get_reference_selector("areas"):add_order_by("name"):add_where("active"):exec() 1.32 + else 1.33 + areas = unit:get_reference_selector("areas"):add_order_by("name"):exec() 1.34 + end 1.35 + for i, area in ipairs(areas) do 1.36 ui.tag { tag = "li", content = function () 1.37 - ui.link{ text = area.name, module = "admin", view = "area_show", id = area.id } 1.38 + local class 1.39 + if area.active == false then 1.40 + class = "inactive" 1.41 + end 1.42 + ui.link{ attr = { class = class }, text = area.name, module = "admin", view = "area_show", id = area.id } 1.43 end } 1.44 end 1.45 ui.tag { tag = "li", content = function () 1.46 @@ -121,6 +138,14 @@ 1.47 1.48 slot.put("<br />") 1.49 ui.link { module = "admin", view = "unit_edit", content = _"+ add new organizational unit" } 1.50 + slot.put("<br />") 1.51 + slot.put("<br />") 1.52 + 1.53 + if (not inactive) then 1.54 + ui.link { module = "admin", view = "index", params = { inactive = true }, content = _"Show inactive" } 1.55 + else 1.56 + ui.link { module = "admin", view = "index", content = _"Hide inactive" } 1.57 + end 1.58 1.59 end) 1.60 end)