# HG changeset patch
# User bsw
# Date 1427398688 -3600
# Node ID 8c65f5a029b06bdec4dae17b401a28a47fae9f2e
# Parent 1390a21eb084b8722d59af95f3ea15e28157d683
Unified navigation in admin area
diff -r 1390a21eb084 -r 8c65f5a029b0 app/main/admin/area_list.lua
--- a/app/main/admin/area_list.lua Thu Mar 26 20:37:47 2015 +0100
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,63 +0,0 @@
-local unit_id = param.get("unit_id", atom.integer)
-local unit = Unit:by_id(unit_id)
-
-local show_not_in_use = param.get("show_not_in_use", atom.boolean) or false
-
-local areas = Area:build_selector{ unit_id = unit_id, active = not show_not_in_use }:exec()
-
-
-ui.title(_("Area list of '#{unit_name}'", { unit_name = unit.name }))
-
-
-ui.actions(function()
-
- if show_not_in_use then
- ui.link{
- text = _"Show areas in use",
- module = "admin",
- view = "area_list",
- params = { unit_id = unit_id }
- }
-
- else
- ui.link{
- text = _"Create new area",
- module = "admin",
- view = "area_show",
- params = { unit_id = unit_id }
- }
-
- slot.put(" · ")
-
- ui.link{
- text = _"Show areas not in use",
- module = "admin",
- view = "area_list",
- params = { show_not_in_use = true, unit_id = unit_id }
- }
- end
-
-end)
-
-
-ui.list{
- records = areas,
- columns = {
-
- { label = _"Area", name = "name" },
-
- { content = function(record)
- if app.session.member.admin then
- ui.link{
- attr = { class = { "action admin_only" } },
- text = _"Edit",
- module = "admin",
- view = "area_show",
- id = record.id
- }
- end
- end
- }
-
- }
-}
\ No newline at end of file
diff -r 1390a21eb084 -r 8c65f5a029b0 app/main/admin/index.lua
--- a/app/main/admin/index.lua Thu Mar 26 20:37:47 2015 +0100
+++ b/app/main/admin/index.lua Thu Mar 26 20:38:08 2015 +0100
@@ -1,7 +1,10 @@
-local units = Unit:get_flattened_tree{ active = true }
+local inactive = param.get("inactive", atom.boolean)
+
+local units = Unit:get_flattened_tree{ include_inactive = inactive }
+
local policies = Policy:build_selector{}:add_order_by("index"):exec()
-slot.put_into("title", _"Manage system settings")
+ui.titleAdmin()
ui.sidebar( "tab-members", function()
ui.sidebarHead( function()
@@ -102,12 +105,26 @@
attr = { style = "margin-left: " .. ((unit.depth - 1)* 2) .. "em;" },
content = function ()
ui.heading { level = 1, content = function ()
- ui.link{ text = unit.name, module = "admin", view = "unit_edit", id = unit.id }
+ local class
+ if unit.active == false then
+ class = "inactive"
+ end
+ ui.link{ attr = { class = class }, text = unit.name, module = "admin", view = "unit_edit", id = unit.id }
end }
ui.tag { tag = "ul", attr = { class = "ul" }, content = function ()
- for i, area in ipairs(unit:get_reference_selector("areas"):add_order_by("name"):exec()) do
+ local areas
+ if not inactive then
+ areas = unit:get_reference_selector("areas"):add_order_by("name"):add_where("active"):exec()
+ else
+ areas = unit:get_reference_selector("areas"):add_order_by("name"):exec()
+ end
+ for i, area in ipairs(areas) do
ui.tag { tag = "li", content = function ()
- ui.link{ text = area.name, module = "admin", view = "area_show", id = area.id }
+ local class
+ if area.active == false then
+ class = "inactive"
+ end
+ ui.link{ attr = { class = class }, text = area.name, module = "admin", view = "area_show", id = area.id }
end }
end
ui.tag { tag = "li", content = function ()
@@ -121,6 +138,14 @@
slot.put("
")
ui.link { module = "admin", view = "unit_edit", content = _"+ add new organizational unit" }
+ slot.put("
")
+ slot.put("
")
+
+ if (not inactive) then
+ ui.link { module = "admin", view = "index", params = { inactive = true }, content = _"Show inactive" }
+ else
+ ui.link { module = "admin", view = "index", content = _"Hide inactive" }
+ end
end)
end)
diff -r 1390a21eb084 -r 8c65f5a029b0 app/main/admin/member_edit.lua
--- a/app/main/admin/member_edit.lua Thu Mar 26 20:37:47 2015 +0100
+++ b/app/main/admin/member_edit.lua Thu Mar 26 20:38:08 2015 +0100
@@ -4,7 +4,7 @@
local deactivated = member and member.locked and member.login == nil and member.authority_login == nil
-ui.title(_"Member")
+ui.titleAdmin(_"Member")
local units_selector = Unit:new_selector()
diff -r 1390a21eb084 -r 8c65f5a029b0 app/main/admin/policy_show.lua
--- a/app/main/admin/policy_show.lua Thu Mar 26 20:37:47 2015 +0100
+++ b/app/main/admin/policy_show.lua Thu Mar 26 20:38:08 2015 +0100
@@ -2,12 +2,12 @@
local hint = not policy.id
-ui.titleAdmin(policy.name or _"New policy")
+ui.titleAdmin(_"Policy")
ui.section( function()
ui.sectionHead( function()
- ui.heading { level = 1, content = _"Policy" }
+ ui.heading { level = 1, content = policy and policy.name or _"New policy" }
end )
ui.sectionRow( function()
ui.form{
diff -r 1390a21eb084 -r 8c65f5a029b0 app/main/admin/unit_edit.lua
--- a/app/main/admin/unit_edit.lua Thu Mar 26 20:37:47 2015 +0100
+++ b/app/main/admin/unit_edit.lua Thu Mar 26 20:38:08 2015 +0100
@@ -2,9 +2,7 @@
local unit = Unit:by_id(id)
-if unit then
- ui.titleAdmin(_"Organizational unit")
-end
+ui.titleAdmin(_"Organizational unit")
local units = {
{ id = nil, name = "" }
diff -r 1390a21eb084 -r 8c65f5a029b0 app/main/admin/unit_list.lua
--- a/app/main/admin/unit_list.lua Thu Mar 26 20:37:47 2015 +0100
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,55 +0,0 @@
-local inactive = param.get("inactive", atom.boolean)
-
-local units = Unit:get_flattened_tree{ include_inactive = inactive }
-
-ui.title(_"Unit list")
-
-ui.actions(function()
- ui.link{
- text = _"Create new unit",
- module = "admin",
- view = "unit_edit"
- }
- slot.put(" · ")
- if inactive then
- ui.link{
- text = _"Hide active units",
- module = "admin",
- view = "unit_list"
- }
- else
- ui.link{
- text = _"Show inactive units",
- module = "admin",
- view = "unit_list",
- params = { inactive = true }
- }
- end
-end)
-
-ui.list{
- records = units,
- columns = {
- {
- content = function(unit)
- for i = 1, unit.depth - 1 do
- slot.put(" ")
- end
- local style = ""
- if not unit.active then
- style = "text-decoration: line-through;"
- end
- ui.link{
- attr = { style = "font-weight: bold;" .. style },
- text = unit.name,
- module = "admin", view = "unit_edit", id = unit.id
- }
- slot.put(" · ")
- ui.link{
- text = _"Edit areas",
- module = "admin", view = "area_list", params = { unit_id = unit.id }
- }
- end
- }
- }
-}
\ No newline at end of file
diff -r 1390a21eb084 -r 8c65f5a029b0 env/ui/titleAdmin.lua
--- a/env/ui/titleAdmin.lua Thu Mar 26 20:37:47 2015 +0100
+++ b/env/ui/titleAdmin.lua Thu Mar 26 20:38:08 2015 +0100
@@ -1,8 +1,13 @@
function ui.titleAdmin(title)
ui.title(function()
- ui.link { module = "admin", view = "index", content = _"System administration" }
if title then
- ui.tag { tag = "span", content = content }
+ ui.link { module = "admin", view = "index", content = _"System administration" }
+ else
+ ui.tag{ content = _"System administration" }
+ end
+ if title then
+ slot.put ( " ยป " )
+ ui.tag { tag = "span", content = title }
end
end)
end
\ No newline at end of file