liquid_feedback_frontend
view app/main/index/_drawer.lua @ 1404:f99e7df399e6
Text case change
| author | bsw | 
|---|---|
| date | Mon Aug 13 19:52:00 2018 +0200 (2018-08-13) | 
| parents | 32cc544d5a5b | 
| children | 
 line source
     1 local member = app.session.member
     2 local units
     3 if member then
     4   units = member:get_reference_selector("units"):add_order_by("name"):exec()
     5   units:load_delegation_info_once_for_member_id(member.id)
     6 else
     7   units = Unit:new_selector():add_where("active"):add_order_by("name"):exec()
     8 end
    10 slot.select("drawer", function()
    11   ui.container{ attr = { class = "mdl-layout__drawer" }, content = function()
    12     ui.tag{ tag = "nav", attr = { class = "mdl-navigation" }, content = function ()
    13       ui.link{ content = config.instance_name, attr = { class = "mdl-navigation__link mdl-menu__item--full-bleed-divider mdl-navigation__head" }, module = "index", view = "index" }
    15       if #units > 0 then
    16         for i, unit in ipairs(units) do
    17           local class = "mdl-navigation__link mdl-navigation__head" 
    18           if i == #units then
    19             class = class .. " mdl-menu__item--full-bleed-divider"
    20           end
    21           ui.link{ attr = { class = class }, content = unit.name, module = "unit", view = "show", id = unit.id }
    22           local areas = unit.areas
    23           for i, area in ipairs(areas) do
    24             local class = "mdl-navigation__link mdl-menu__item--small" 
    25             if i == #areas then
    26               class = class .. " mdl-menu__item--full-bleed-divider"
    27             end
    28             ui.link{ attr = { class = class }, module = "area", view = "show", id = area.id, content = function()
    29               ui.tag{ content = "⤷" }
    30               slot.put(" ")
    31               ui.tag{ content = area.name }
    32             end }
    33           end
    34         end
    35       end
    37       ui.link{ attr = { class = "mdl-navigation__link mdl-menu__item--full-bleed-divider" }, content = _"Member list", module = "member", view = "list" }
    38       ui.link{ attr = { class = "mdl-navigation__link" }, content = _"Quick guide", module = "help", view = "introduction" }
    40       if app.session.member_id and app.session.member.admin then
    41         ui.link{ attr = { class = "mdl-navigation__link mdl-menu__item--full-bleed-divider" }, content = _"System settings", module = "admin", view = "index" }
    42       end
    44     end }
    45   end }
    46 end)
    48 if true then
    49   return
    50 end
    52 for i, unit in ipairs(units) do
    54   ui.sidebar ( "tab-whatcanido units", function ()
    56     local areas_selector = Area:new_selector()
    57       :reset_fields()
    58       :add_field("area.id", nil, { "grouped" })
    59       :add_field("area.unit_id", nil, { "grouped" })
    60       :add_field("area.name", nil, { "grouped" })
    61       :add_where{ "area.unit_id = ?", unit.id }
    62       :add_where{ "area.active" }
    63       :add_order_by("area.name")
    65     local areas = areas_selector:exec()
    66     if member then
    67       areas:load_delegation_info_once_for_member_id(member.id)
    68     end
    70     if #areas > 0 then
    72       ui.container {
    73         attr = { class = "sidebarHead" },
    74         content = function ()
    75           ui.heading { level = 2, content = function ()
    76             ui.link {
    77               attr = { class = "unit" },
    78               module = "unit", view = "show", id = unit.id,
    79               content = unit.name
    80             }
    82             if member then
    83               local delegation = Delegation:by_pk(member.id, unit.id, nil, nil)
    85               if delegation then
    86                 ui.link { 
    87                   module = "delegation", view = "show", params = {
    88                     unit_id = unit.id
    89                   },
    90                   attr = { class = "delegation_info" }, 
    91                   content = function ()
    92                     ui.delegation(delegation.trustee_id, delegation.trustee.name)
    93                   end
    94                 }
    95               end
    96             end
    97           end }
    99         end
   100       }
   103       ui.tag { tag = "div", attr = { class = "areas areas-" .. unit.id }, content = function ()
   105         for i, area in ipairs(areas) do
   107           ui.tag { tag = "div", attr = { class = "sidebarRow" }, content = function ()
   109             if member then
   110               local delegation = Delegation:by_pk(member.id, nil, area.id, nil)
   112               if delegation then
   113                 ui.link { 
   114                   module = "delegation", view = "show", params = {
   115                     area_id = area.id
   116                   },
   117                   attr = { class = "delegation_info" }, 
   118                   content = function ()
   119                     ui.delegation(delegation.trustee_id, delegation.trustee_id and delegation.trustee.name)
   120                   end
   121                 }
   122               end
   123             end
   125             slot.put ( " " )
   127             ui.link {
   128               attr = { class = "area" },
   129               module = "area", view = "show", id = area.id,
   130               content = area.name
   131             }
   134           end }
   135         end
   136       end }
   137     end 
   138   end )
   139 end
