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(" · ") 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(" ") 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(" · ") 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