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

Impressum / About Us