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)

Impressum / About Us