liquid_feedback_frontend

changeset 1184:8c65f5a029b0

Unified navigation in admin area
author bsw
date Thu Mar 26 20:38:08 2015 +0100 (2015-03-26)
parents 1390a21eb084
children fef745f9e22f
files app/main/admin/area_list.lua app/main/admin/index.lua app/main/admin/member_edit.lua app/main/admin/policy_show.lua app/main/admin/unit_edit.lua app/main/admin/unit_list.lua env/ui/titleAdmin.lua
line diff
     1.1 --- a/app/main/admin/area_list.lua	Thu Mar 26 20:37:47 2015 +0100
     1.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.3 @@ -1,63 +0,0 @@
     1.4 -local unit_id = param.get("unit_id", atom.integer)
     1.5 -local unit = Unit:by_id(unit_id)
     1.6 -
     1.7 -local show_not_in_use = param.get("show_not_in_use", atom.boolean) or false
     1.8 -
     1.9 -local areas = Area:build_selector{ unit_id = unit_id, active = not show_not_in_use }:exec()
    1.10 -
    1.11 -
    1.12 -ui.title(_("Area list of '#{unit_name}'", { unit_name = unit.name }))
    1.13 -
    1.14 -
    1.15 -ui.actions(function()
    1.16 -
    1.17 -  if show_not_in_use then
    1.18 -    ui.link{
    1.19 -      text = _"Show areas in use",
    1.20 -      module = "admin",
    1.21 -      view = "area_list",
    1.22 -      params = { unit_id = unit_id }
    1.23 -    }
    1.24 -
    1.25 -  else
    1.26 -    ui.link{
    1.27 -      text = _"Create new area",
    1.28 -      module = "admin",
    1.29 -      view = "area_show",
    1.30 -      params = { unit_id = unit_id }
    1.31 -    }
    1.32 -
    1.33 -    slot.put(" · ")
    1.34 -
    1.35 -    ui.link{
    1.36 -      text = _"Show areas not in use",
    1.37 -      module = "admin",
    1.38 -      view = "area_list",
    1.39 -      params = { show_not_in_use = true, unit_id = unit_id }
    1.40 -    }
    1.41 -  end
    1.42 -
    1.43 -end)
    1.44 -
    1.45 -
    1.46 -ui.list{
    1.47 -  records = areas,
    1.48 -  columns = {
    1.49 -
    1.50 -    { label = _"Area", name = "name" },
    1.51 -
    1.52 -    { content = function(record)
    1.53 -        if app.session.member.admin then
    1.54 -          ui.link{
    1.55 -            attr = { class = { "action admin_only" } },
    1.56 -            text = _"Edit",
    1.57 -            module = "admin",
    1.58 -            view = "area_show",
    1.59 -            id = record.id
    1.60 -          }
    1.61 -        end
    1.62 -      end
    1.63 -    }
    1.64 -
    1.65 -  }
    1.66 -}
    1.67 \ No newline at end of file
     2.1 --- a/app/main/admin/index.lua	Thu Mar 26 20:37:47 2015 +0100
     2.2 +++ b/app/main/admin/index.lua	Thu Mar 26 20:38:08 2015 +0100
     2.3 @@ -1,7 +1,10 @@
     2.4 -local units = Unit:get_flattened_tree{ active = true }
     2.5 +local inactive = param.get("inactive", atom.boolean)
     2.6 +
     2.7 +local units = Unit:get_flattened_tree{ include_inactive = inactive }
     2.8 +
     2.9  local policies = Policy:build_selector{}:add_order_by("index"):exec()
    2.10  
    2.11 -slot.put_into("title", _"Manage system settings")
    2.12 +ui.titleAdmin()
    2.13  
    2.14  ui.sidebar( "tab-members", function()
    2.15    ui.sidebarHead( function()
    2.16 @@ -102,12 +105,26 @@
    2.17          attr = { style = "margin-left: " .. ((unit.depth - 1)* 2) .. "em;" },
    2.18          content = function ()
    2.19            ui.heading { level = 1, content = function ()
    2.20 -            ui.link{ text = unit.name, module = "admin", view = "unit_edit", id = unit.id }
    2.21 +            local class
    2.22 +            if unit.active == false then
    2.23 +              class = "inactive"
    2.24 +            end
    2.25 +            ui.link{ attr = { class = class }, text = unit.name, module = "admin", view = "unit_edit", id = unit.id }
    2.26            end }
    2.27            ui.tag { tag = "ul", attr = { class = "ul" }, content = function ()
    2.28 -            for i, area in ipairs(unit:get_reference_selector("areas"):add_order_by("name"):exec()) do
    2.29 +            local areas
    2.30 +            if not inactive then
    2.31 +              areas = unit:get_reference_selector("areas"):add_order_by("name"):add_where("active"):exec()
    2.32 +            else
    2.33 +              areas = unit:get_reference_selector("areas"):add_order_by("name"):exec()
    2.34 +            end
    2.35 +            for i, area in ipairs(areas) do
    2.36                ui.tag { tag = "li", content = function ()
    2.37 -                ui.link{ text = area.name, module = "admin", view = "area_show", id = area.id }
    2.38 +                local class
    2.39 +                if area.active == false then
    2.40 +                  class = "inactive"
    2.41 +                end
    2.42 +                ui.link{ attr = { class = class }, text = area.name, module = "admin", view = "area_show", id = area.id }
    2.43                end }
    2.44              end
    2.45              ui.tag { tag = "li", content = function ()
    2.46 @@ -121,6 +138,14 @@
    2.47      
    2.48      slot.put("<br />")
    2.49      ui.link { module = "admin", view = "unit_edit", content = _"+ add new organizational unit" }
    2.50 +    slot.put("<br />")
    2.51 +    slot.put("<br />")
    2.52 +    
    2.53 +    if (not inactive) then
    2.54 +      ui.link { module = "admin", view = "index", params = { inactive = true }, content = _"Show inactive" }
    2.55 +    else
    2.56 +      ui.link { module = "admin", view = "index", content = _"Hide inactive" }
    2.57 +    end
    2.58        
    2.59    end)
    2.60  end)
     3.1 --- a/app/main/admin/member_edit.lua	Thu Mar 26 20:37:47 2015 +0100
     3.2 +++ b/app/main/admin/member_edit.lua	Thu Mar 26 20:38:08 2015 +0100
     3.3 @@ -4,7 +4,7 @@
     3.4  
     3.5  local deactivated = member and member.locked and member.login == nil and member.authority_login == nil
     3.6  
     3.7 -ui.title(_"Member")
     3.8 +ui.titleAdmin(_"Member")
     3.9  
    3.10  local units_selector = Unit:new_selector()
    3.11    
     4.1 --- a/app/main/admin/policy_show.lua	Thu Mar 26 20:37:47 2015 +0100
     4.2 +++ b/app/main/admin/policy_show.lua	Thu Mar 26 20:38:08 2015 +0100
     4.3 @@ -2,12 +2,12 @@
     4.4  
     4.5  local hint = not policy.id
     4.6  
     4.7 -ui.titleAdmin(policy.name or _"New policy")
     4.8 +ui.titleAdmin(_"Policy")
     4.9  
    4.10  ui.section( function()
    4.11  
    4.12    ui.sectionHead( function()
    4.13 -    ui.heading { level = 1, content = _"Policy" }
    4.14 +    ui.heading { level = 1, content = policy and policy.name or _"New policy" }
    4.15    end )
    4.16    ui.sectionRow( function()
    4.17      ui.form{
     5.1 --- a/app/main/admin/unit_edit.lua	Thu Mar 26 20:37:47 2015 +0100
     5.2 +++ b/app/main/admin/unit_edit.lua	Thu Mar 26 20:38:08 2015 +0100
     5.3 @@ -2,9 +2,7 @@
     5.4  
     5.5  local unit = Unit:by_id(id)
     5.6  
     5.7 -if unit then
     5.8 -  ui.titleAdmin(_"Organizational unit")
     5.9 -end
    5.10 +ui.titleAdmin(_"Organizational unit")
    5.11  
    5.12  local units = {
    5.13    { id = nil, name = "" }
     6.1 --- a/app/main/admin/unit_list.lua	Thu Mar 26 20:37:47 2015 +0100
     6.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
     6.3 @@ -1,55 +0,0 @@
     6.4 -local inactive = param.get("inactive", atom.boolean)
     6.5 -
     6.6 -local units = Unit:get_flattened_tree{ include_inactive = inactive }
     6.7 -
     6.8 -ui.title(_"Unit list")
     6.9 -
    6.10 -ui.actions(function()
    6.11 -  ui.link{
    6.12 -    text = _"Create new unit",
    6.13 -    module = "admin",
    6.14 -    view = "unit_edit"
    6.15 -  }
    6.16 -  slot.put(" &middot; ")
    6.17 -  if inactive then
    6.18 -    ui.link{
    6.19 -      text = _"Hide active units",
    6.20 -      module = "admin",
    6.21 -      view = "unit_list"
    6.22 -    }
    6.23 -  else
    6.24 -    ui.link{
    6.25 -      text = _"Show inactive units",
    6.26 -      module = "admin",
    6.27 -      view = "unit_list",
    6.28 -      params = { inactive = true }
    6.29 -    }
    6.30 -  end
    6.31 -end)
    6.32 - 
    6.33 -ui.list{
    6.34 -  records = units,
    6.35 -  columns = {
    6.36 -    {
    6.37 -      content = function(unit)
    6.38 -        for i = 1, unit.depth - 1 do
    6.39 -          slot.put("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;")
    6.40 -        end
    6.41 -        local style = ""
    6.42 -        if not unit.active then
    6.43 -          style = "text-decoration: line-through;"
    6.44 -        end
    6.45 -        ui.link{
    6.46 -          attr = { style = "font-weight: bold;" .. style },
    6.47 -          text = unit.name,
    6.48 -          module = "admin", view = "unit_edit", id = unit.id
    6.49 -        }
    6.50 -        slot.put(" &middot; ")
    6.51 -        ui.link{
    6.52 -          text = _"Edit areas",
    6.53 -          module = "admin", view = "area_list", params = { unit_id = unit.id }
    6.54 -        }
    6.55 -      end 
    6.56 -    }
    6.57 -  }
    6.58 -}
    6.59 \ No newline at end of file
     7.1 --- a/env/ui/titleAdmin.lua	Thu Mar 26 20:37:47 2015 +0100
     7.2 +++ b/env/ui/titleAdmin.lua	Thu Mar 26 20:38:08 2015 +0100
     7.3 @@ -1,8 +1,13 @@
     7.4  function ui.titleAdmin(title)
     7.5    ui.title(function()
     7.6 -    ui.link { module = "admin", view = "index", content = _"System administration" }
     7.7      if title then
     7.8 -      ui.tag { tag = "span", content = content }
     7.9 +      ui.link { module = "admin", view = "index", content = _"System administration" }
    7.10 +    else
    7.11 +      ui.tag{ content = _"System administration" }
    7.12 +    end
    7.13 +    if title then
    7.14 +      slot.put ( " ยป " )
    7.15 +      ui.tag { tag = "span", content = title }
    7.16      end
    7.17    end)
    7.18  end
    7.19 \ No newline at end of file

Impressum / About Us