liquid_feedback_frontend
changeset 263:f42d16567c5d
Added admin section for units, added unit support to areas in admin section
author | bsw |
---|---|
date | Tue Feb 07 18:13:00 2012 +0100 (2012-02-07) |
parents | 7ef1e03e4057 |
children | 1b8d51e21614 |
files | app/main/admin/_action/area_update.lua app/main/admin/area_list.lua app/main/admin/area_show.lua app/main/admin/index.lua app/main/admin/unit_list.lua |
line diff
1.1 --- a/app/main/admin/_action/area_update.lua Tue Feb 07 17:54:00 2012 +0100 1.2 +++ b/app/main/admin/_action/area_update.lua Tue Feb 07 18:13:00 2012 +0100 1.3 @@ -1,6 +1,6 @@ 1.4 local area = Area:by_id(param.get_id()) or Area:new() 1.5 1.6 -param.update(area, "name", "description", "active") 1.7 +param.update(area, "unit_id", "name", "description", "active") 1.8 1.9 area:save() 1.10
2.1 --- a/app/main/admin/area_list.lua Tue Feb 07 17:54:00 2012 +0100 2.2 +++ b/app/main/admin/area_list.lua Tue Feb 07 18:13:00 2012 +0100 2.3 @@ -1,19 +1,30 @@ 2.4 +local unit_id = param.get("unit_id", atom.integer) 2.5 +local unit = Unit:by_id(unit_id) 2.6 + 2.7 local show_not_in_use = param.get("show_not_in_use", atom.boolean) or false 2.8 2.9 -local areas = Area:build_selector{ active = not show_not_in_use }:exec() 2.10 +local areas = Area:build_selector{ unit_id = unit_id, active = not show_not_in_use }:exec() 2.11 2.12 2.13 -slot.put_into("title", _"Area list") 2.14 +slot.put_into("title", _("Area list of '#{unit_name}'", { unit_name = unit.name})) 2.15 2.16 2.17 slot.select("actions", function() 2.18 2.19 + ui.link{ 2.20 + attr = { class = { "admin_only" } }, 2.21 + text = _"Back to unit list", 2.22 + module = "admin", 2.23 + view = "unit_list" 2.24 + } 2.25 + 2.26 if show_not_in_use then 2.27 ui.link{ 2.28 attr = { class = { "admin_only" } }, 2.29 text = _"Show areas in use", 2.30 module = "admin", 2.31 - view = "area_list" 2.32 + view = "area_list", 2.33 + params = { unit_id = unit_id } 2.34 } 2.35 2.36 else 2.37 @@ -21,14 +32,15 @@ 2.38 attr = { class = { "admin_only" } }, 2.39 text = _"Create new area", 2.40 module = "admin", 2.41 - view = "area_show" 2.42 + view = "area_show", 2.43 + params = { unit_id = unit_id } 2.44 } 2.45 ui.link{ 2.46 attr = { class = { "admin_only" } }, 2.47 text = _"Show areas not in use", 2.48 module = "admin", 2.49 view = "area_list", 2.50 - params = { show_not_in_use = true } 2.51 + params = { show_not_in_use = true, unit_id = unit_id } 2.52 } 2.53 end 2.54
3.1 --- a/app/main/admin/area_show.lua Tue Feb 07 17:54:00 2012 +0100 3.2 +++ b/app/main/admin/area_show.lua Tue Feb 07 18:13:00 2012 +0100 3.3 @@ -2,6 +2,10 @@ 3.4 3.5 local area = Area:by_id(id) or Area:new() 3.6 3.7 +if not area.unit_id then 3.8 + area.unit_id = param.get("unit_id", atom.integer) 3.9 +end 3.10 + 3.11 slot.put_into("title", _"Create / edit area") 3.12 3.13 slot.select("actions", function() 3.14 @@ -9,7 +13,8 @@ 3.15 attr = { class = { "admin_only" } }, 3.16 text = _"Cancel", 3.17 module = "admin", 3.18 - view = "area_list" 3.19 + view = "area_list", 3.20 + params = { unit_id = area.unit_id } 3.21 } 3.22 end) 3.23 3.24 @@ -22,7 +27,8 @@ 3.25 default = { 3.26 mode = "redirect", 3.27 module = "admin", 3.28 - view = "area_list" 3.29 + view = "area_list", 3.30 + params = { unit_id = area.unit_id } 3.31 } 3.32 }, 3.33 id = id, 3.34 @@ -38,8 +44,9 @@ 3.35 def_policy[#def_policy+1] = record 3.36 end 3.37 3.38 + ui.field.hidden{ name = "unit_id", value = area.unit_id } 3.39 + ui.field.text{ label = _"Unit", value = area.unit.name, readonly = true } 3.40 ui.field.text{ label = _"Name", name = "name" } 3.41 - ui.field.boolean{ label = _"Active?", name = "active" } 3.42 ui.field.text{ label = _"Description", name = "description", multiline = true } 3.43 ui.field.select{ label = _"Default Policy", name = "default_policy", 3.44 value=area.default_policy and area.default_policy.id or "-1", 3.45 @@ -54,6 +61,8 @@ 3.46 connecting_records = area.allowed_policies or {}, 3.47 foreign_reference = "id", 3.48 } 3.49 + slot.put("<br /><br />") 3.50 + ui.field.boolean{ label = _"Active?", name = "active" } 3.51 ui.submit{ text = _"Save" } 3.52 end 3.53 }
4.1 --- a/app/main/admin/index.lua Tue Feb 07 17:54:00 2012 +0100 4.2 +++ b/app/main/admin/index.lua Tue Feb 07 18:13:00 2012 +0100 4.3 @@ -1,21 +1,5 @@ 4.4 slot.put_into("title", _"Admin menu") 4.5 4.6 -ui.link{ 4.7 - text = _"Members", 4.8 - module = "admin", 4.9 - view = "member_list", 4.10 -} 4.11 - 4.12 -slot.put("<br /><br />") 4.13 - 4.14 -ui.link{ 4.15 - text = _"Areas", 4.16 - module = "admin", 4.17 - view = "area_list", 4.18 -} 4.19 - 4.20 -slot.put("<br /><br />") 4.21 - 4.22 4.23 ui.link{ 4.24 text = _"Policies", 4.25 @@ -23,3 +7,20 @@ 4.26 view = "policy_list", 4.27 } 4.28 4.29 +slot.put("<br /><br />") 4.30 + 4.31 + 4.32 +ui.link{ 4.33 + text = _"Units", 4.34 + module = "admin", 4.35 + view = "unit_list", 4.36 +} 4.37 + 4.38 + slot.put("<br /><br />") 4.39 + 4.40 +ui.link{ 4.41 + text = _"Members", 4.42 + module = "admin", 4.43 + view = "member_list", 4.44 +} 4.45 +
5.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 5.2 +++ b/app/main/admin/unit_list.lua Tue Feb 07 18:13:00 2012 +0100 5.3 @@ -0,0 +1,24 @@ 5.4 +local units = Unit:get_flattened_tree{ active = true } 5.5 + 5.6 +slot.put_into("title", _"Unit list") 5.7 + 5.8 +slot.select("actions", function() 5.9 + ui.link{ 5.10 + attr = { class = { "admin_only" } }, 5.11 + text = _"Create new unit", 5.12 + module = "admin", 5.13 + view = "unit_edit" 5.14 + } 5.15 +end) 5.16 + 5.17 +ui.list{ 5.18 + records = units, 5.19 + columns = { 5.20 + { 5.21 + label = "name", 5.22 + content = function(unit) 5.23 + ui.link{ text = unit.name, module = "admin", view = "area_list", params = { unit_id = unit.id } } 5.24 + end 5.25 + } 5.26 + } 5.27 +} 5.28 \ No newline at end of file