liquid_feedback_frontend
view app/main/admin/index.lua @ 1453:d310cca38a87
Fix layout of search form in admin member list view
| author | bsw | 
|---|---|
| date | Thu Oct 18 17:21:41 2018 +0200 (2018-10-18) | 
| parents | fc89a38b52c5 | 
| children | 1d5469ca60dc | 
 line source
     1 local inactive = param.get("inactive", atom.boolean)
     3 local units = Unit:get_flattened_tree{ include_inactive = inactive }
     5 local policies = Policy:build_selector{}:add_order_by("index"):exec()
     7 ui.grid{ content = function()
     9   ui.cell_main{ content = function()
    10     ui.container{ attr = { class = "mdl-card mdl-card__fullwidth mdl-shadow--2dp" }, content = function()
    11       ui.container{ attr = { class = "mdl-card__title mdl-card--border" }, content = function()
    12         ui.heading { attr = { class = "mdl-card__title-text" }, level = 2, content = _"Organizational units and subject areas" }
    13       end }
    14       ui.container{ attr = { class = "mdl-card__content" }, content = function()
    16         for i_unit, unit in ipairs(units) do
    17           ui.container { 
    18             attr = { style = "margin-left: " .. ((unit.depth - 1)* 2) .. "em;" },
    19             content = function ()
    20               ui.heading { level = 1, content = function ()
    21                 local class
    22                 if unit.active == false then
    23                   class = "inactive"
    24                 end
    25                 ui.link{ attr = { class = class }, text = unit.name, module = "admin", view = "unit_edit", id = unit.id }
    26               end }
    27               ui.tag { tag = "ul", attr = { class = "ul" }, content = function ()
    28                 local areas
    29                 if not inactive then
    30                   areas = unit:get_reference_selector("areas"):add_order_by("name"):add_where("active"):exec()
    31                 else
    32                   areas = unit:get_reference_selector("areas"):add_order_by("name"):exec()
    33                 end
    34                 for i, area in ipairs(areas) do
    35                   ui.tag { tag = "li", content = function ()
    36                     local class
    37                     if area.active == false then
    38                       class = "inactive"
    39                     end
    40                     ui.link{ attr = { class = class }, text = area.name, module = "admin", view = "area_show", id = area.id }
    41                   end }
    42                 end
    43                 ui.tag { tag = "li", content = function ()
    44                   ui.link { module = "admin", view = "area_show", params = { unit_id = unit.id }, content = _"+ add new subject area" }
    45                 end }
    46                 slot.put("<br />")
    47               end }
    48             end
    49           }
    50         end
    52         slot.put("<br />")
    53         ui.link { module = "admin", view = "unit_edit", content = _"Create new unit" }
    54         slot.put("<br />")
    55         slot.put("<br />")
    57         if (not inactive) then
    58           ui.link { module = "admin", view = "index", params = { inactive = true }, content = _"Show inactive" }
    59         else
    60           ui.link { module = "admin", view = "index", content = _"Hide inactive" }
    61         end
    63       end }
    64     end }
    65   end }
    67   ui.cell_sidebar{ content = function()
    69     ui.container{ attr = { class = "mdl-card mdl-card__fullwidth mdl-shadow--2dp" }, content = function()
    70       ui.container{ attr = { class = "mdl-card__title mdl-card--border" }, content = function()
    71         ui.heading { attr = { class = "mdl-card__title-text" }, level = 2, content = _"Members" }
    72       end }
    73       ui.container{ attr = { class = "mdl-card__content" }, content = function()
    74         ui.tag { tag = "ul", attr = { class = "ul" }, content = function()
    75           ui.tag { tag = "li", content = function()
    76             ui.form{
    77               module = "admin", view = "member_list",
    78               content = function()
    80                 ui.field.text{ label = _"search", name = "search" }
    82                 ui.submit{ value = _"search" }
    84               end
    85             }
    86           end }
    87         end }
    88         ui.sidebarSection( "moreLink", function()
    89           ui.link{
    90             text = _"Register new member",
    91             module = "admin",
    92             view = "member_edit"
    93           }
    94         end )
    95       end }
    96     end }
    98     ui.container{ attr = { class = "mdl-card mdl-card__fullwidth mdl-shadow--2dp" }, content = function()
    99       ui.container{ attr = { class = "mdl-card__title mdl-card--border" }, content = function()
   100         ui.heading { attr = { class = "mdl-card__title-text" }, level = 2, content = _"Policies" }
   101       end }
   102       ui.container{ attr = { class = "mdl-card__content" }, content = function()
   103         ui.tag { tag = "ul", attr = { class = "ul" }, content = function()
   104           for i, policy in ipairs(policies) do
   105             ui.tag { tag = "li", content = function()
   106               ui.link{
   107                 content = policy.name,
   108                 module = "admin",
   109                 view = "policy_show",
   110                 id = policy.id
   111               }
   112             end }
   113           end
   114         end }
   116         ui.link{
   117           text = _"Create new policy",
   118           module = "admin",
   119           view = "policy_show"
   120         }
   121         slot.put("   ")
   122         ui.link{
   123           text = _"Show policies not in use",
   124           module = "admin",
   125           view = "policy_list",
   126           params = { show_not_in_use = true }
   127         }
   128       end }
   129     end }
   131     ui.container{ attr = { class = "mdl-card mdl-card__fullwidth mdl-shadow--2dp" }, content = function()
   132       ui.container{ attr = { class = "mdl-card__title mdl-card--border" }, content = function()
   133         ui.heading { attr = { class = "mdl-card__title-text" }, level = 2, content = _"Newsletter" }
   134       end }
   135       ui.container{ attr = { class = "mdl-card__content" }, content = function()
   136         ui.link{
   137           text = _"Create a newsletter",
   138           module = "admin",
   139           view = "newsletter_edit"
   140         }
   141         slot.put("   ")
   142         ui.link{
   143           text = _"Manage newsletters",
   144           module = "admin",
   145           view = "newsletter_list"
   146         }
   147       end }
   148     end }
   150     ui.container{ attr = { class = "mdl-card mdl-card__fullwidth mdl-shadow--2dp" }, content = function()
   151       ui.container{ attr = { class = "mdl-card__title mdl-card--border" }, content = function()
   152         ui.heading { attr = { class = "mdl-card__title-text" }, level = 2, content = _"Cancel issue" }
   153       end }
   154       ui.container{ attr = { class = "mdl-card__content" }, content = function()
   155         ui.form{
   156           module = "admin",
   157           view = "cancel_issue",
   158           content = function()
   159             ui.tag { tag = "ul", attr = { class = "ul" }, content = function()
   160               ui.tag { tag = "li", content = function()
   161                 ui.field.text{ label = _"Issue #", name = "id" }
   162                 ui.submit{ text = _"cancel issue" }
   163               end }
   164             end }
   165           end
   166         }
   167       end }
   168     end }
   170   end }
   171 end }
